Du måste följa detta steg först undersöka följande klasser. Klasser Obj och Gen utför exakt samma uppgifter, men Obj använder klassen Object för att någon typ som skall lagras inom sitt område, medan Gen använder generika:
'VB Omdömen
Klass Obj
Public V1 As Object Omdömen
Public V2 As Object Omdömen
Public Sub New (ByVal _V1 As Object, ByVal _V2 As Object) V1 = _V1 Omdömen
V2 = _V2
End Sub Omdömen
End Class Omdömen
Class Gen (av T, U) Public V1 Som T Public V2 Som U
Public Sub New (ByVal _V1 Som T, ByVal _V2 som U) V1 = _V1 Omdömen
V2 = _V2 Omdömen
End Sub Omdömen
End Class Omdömen
//C # Omdömen
klass Obj Omdömen
{Omdömen
offentliga Object t; Omdömen
offentliga Object u; Omdömen
offentliga Obj (Objekt 't, Object _U) katalog
{
t = 't; Omdömen
u = _U; Omdömen
} Omdömen
} Omdömen
class Gen Omdömen
{
offentlig T t, Omdömen
offentliga U u; Omdömen
offentliga Gen (T 't, U _U) katalog
{Omdömen
t = 't;
u = _U; Omdömen
} Omdömen
} Omdömen
Som ni kan se, har Obj klass två medlemmar av typen Object.
Gen klass har två fält medlemmar av typ T och U. konsumerar kod bestämmer de typer för T och U. Beroende på hur tidskrävande kod använder Gen klassen kunde T och U vara en sträng, en int, en anpassad klass, . eller någon kombination därav Omdömen
Det finns en avsevärd begränsning till att skapa en generisk klass (utan begränsningar, som diskuterats i avsnittet "Hur man använder begränsningar," senare i det här kapitlet): Generic koden är giltig endast Om det sammanställer för alltid y möjliga konstruerade instans av generiska, om en Int, en sträng, eller någon annan klass.
I huvudsak är du begränsad till de capabili- band av basen klassen Object när du skriver generisk kod. Därför kan du ringa ToString eller GetHashCode metod inom din klass, men du kan inte använda + operatör eller> operatören. Samma restriktioner gäller inte den förtärande kod eftersom det konsumerar kod deklarerar en specifik typ för den generiska. Omdömen
Hur man konsumera en generisk typ Omdömen
När du konsumerar en generisk typ, måste du ange typerna för eventuella generiska används.
Tänk dig följande Console programkoden, som använder Gen och obj klasser:
'VB Omdömen
' Lägg två strängar med hjälp av Obj klassen Omdömen
Dim oa Som Obj = ny Obj ("Hej", "World!") Console.WriteLine (ctyp (oa.V1, Strin