Zgodnie z odpowiedzią this na stackoverflow, typ ogólny w języku C# jest rozwiązany w środowisku wykonawczym.Kiedy jest typ ogólny rozwiązany w języku C#?
Jednak zgodnie z odpowiedzią this, w języku C# typ ogólny to rozwiązany w czasie kompilacji.
Czego mi tu brakuje?
Innymi słowy, czy typ T
został rozwiązany podczas kompilacji lub uruchamiania?
Aktualizacja:
podstawie odpowiedzi Oded, w W przypadku takim jak ten, gdzie typ jest zamknięty typu beton (co oznacza, że będzie rozwiązany w czasie kompilacji)
class Program
{
static void Main()
{
var t = new Test<int>();
}
}
public class Test<T>
{
}
będzie MSIL ma odpowiednik
Te dwa posty, do których linkujesz, opisują różne koncepcje. – JerKimball
Jaką część tego z wysłanej odpowiedzi w podanym przez ciebie linku nie rozumiesz: "Nie; to jest zasadniczo niemożliwe. Głównym celem generics jest tworzenie typów kompilacji. Próbujesz utworzyć typ nieznany w czasie kompilacji. Możesz to zrobić za pomocą refleksji. (typeof (MyClass <>). MakeGenericType (myType)) ' – MethodMan
Zgaduję, że szukasz' How to do Reflection' Przykład – MethodMan