vb@rchiv
VB Classic
VB.NET
ADO.NET
VBA
C#
NEU! sevCoolbar 3.0 - Professionelle Toolbars im modernen Design!  
 vb@rchiv Quick-Search: Suche startenErweiterte Suche starten   Impressum  | Datenschutz  | vb@rchiv CD Vol.6  | Shop Copyright ©2000-2025
 
zurück

 Sie sind aktuell nicht angemeldet.Funktionen: Einloggen  |  Neu registrieren  |  Suchen

VB.NET - Fortgeschrittene
Re: Generische Methode: Geeigneter Constraint für Nullable-Structures? 
Autor: Manfred X
Datum: 03.03.10 11:44

Hallo!

Tja, mir ist bislang nur eine Überladungslösung eingefallen:

    Public Sub GenFunc(Of T As {Structure, System.IConvertible})(ByRef arg As T)
 
        'Überprüfung des Argumenttyps (Short ... ULong) über den Typecode 
        Dim tc As Integer = System.Type.GetTypeCode(GetType(T))
        If tc < 7 Or tc > 12 Then
            Throw New System.InvalidOperationException
        End If
 
        'Code der Funktion .........
        Dim erg As T
        '......
        '......
 
        arg = erg
    End Sub
 
    Public Sub GenFunc(Of T As {Structure, System.IConvertible})(ByRef arg As _
      T?)
        Dim iarg As T = Nothing
        If arg.HasValue Then iarg = arg.Value
        GenFunc(iarg)
        arg = iarg
    End Sub
Man beachte, dass der fehlende Wert bei einer Nullable-Variable als
Default-Wert (Nothing = 0, numerisch) verarbeitet wird. Ist das nicht gewünscht,
muss eine spezielle Behandlung für die Bedingung "HasValue = false"
ergänzt werden.


Geht's auch eleganter?
alle Nachrichten anzeigenGesamtübersicht  |  Zum Thema  |  Suchen

 ThemaViews  AutorDatum
Generische Methode: Geeigneter Constraint für Nullable-Struc...2.632Manfred X03.03.10 08:34
Re: Generische Methode: Geeigneter Constraint für Nullable-S...1.623Manfred X03.03.10 11:44

Sie sind nicht angemeldet!
Um auf diesen Beitrag zu antworten oder neue Beiträge schreiben zu können, müssen Sie sich zunächst anmelden.

Einloggen  |  Neu registrieren

Funktionen:  Zum Thema  |  GesamtübersichtSuchen 

nach obenzurück
 
   

Copyright ©2000-2025 vb@rchiv Dieter Otter
Alle Rechte vorbehalten.
Microsoft, Windows und Visual Basic sind entweder eingetragene Marken oder Marken der Microsoft Corporation in den USA und/oder anderen Ländern. Weitere auf dieser Homepage aufgeführten Produkt- und Firmennamen können geschützte Marken ihrer jeweiligen Inhaber sein.

Diese Seiten wurden optimiert für eine Bildschirmauflösung von mind. 1280x1024 Pixel