Nach this Antwort bei Stackoverflow, ist der generische Typ in C# zur Laufzeit aufgelöst.Wann ist der generische Typ in C# aufgelöst?
Allerdings, nach this Antwort, in C# ist der generische Typ bei Kompilierungszeit aufgelöst.
Was fehlt mir hier?
Mit anderen Worten, ist der Typ T
zur Kompilierzeit oder Laufzeit aufgelöst?
Update:
auf Oded Antwort Basierend In einem Fall wie diesem, wo der Typ eine geschlossene Betontyp ist (was bedeutet, dass es bei der Kompilierung aufgelöst werden würde)
class Program
{
static void Main()
{
var t = new Test<int>();
}
}
public class Test<T>
{
}
wird die MSIL haben das Äquivalent von
class Program
{
static void Main()
{
var t = new Test();
}
}
public class Test<int>
{
}
Diese beiden Posts, auf die Sie verlinken, beschreiben unterschiedliche Konzepte. – JerKimball
Welchen Teil davon aus der geposteten Antwort in dem von Ihnen angegebenen Link verstehen Sie nicht? Nein; das ist grundsätzlich unmöglich. Der springende Punkt von Generics ist, dass sie Arten der Kompilierung erstellen. Sie versuchen, einen Typ zu erstellen, der zur Kompilierzeit unbekannt ist. Sie können es jedoch mit Reflektion tun. (typeof (MyClass <>). MakeGenericType (myType)) ' – MethodMan
Ich vermute, dass Sie nach einem' Wie Reflection' suchen Beispiel – MethodMan