trzeba utworzyć w przypadkach runtime klasy, który używa rodzajowych, jak class<T>
, nie znając wcześniej typ T będą mieli, chciałbym zrobić coś takiego:Czy dynamiczne używanie Generics jest niemożliwe?
public Dictionary<Type, object> GenerateLists(List<Type> types)
{
Dictionary<Type, object> lists = new Dictionary<Type, object>();
foreach (Type type in types)
{
lists.Add(type, new List<type>()); /* this new List<type>() doesn't work */
}
return lists;
}
... ale żargon. Myślę, że nie można pisać w języku C# w nawiasach ogólnych zmiennej typu. Czy jest inny sposób na zrobienie tego?
Czy możesz podać powód, dla którego chcesz utworzyć bezpieczny obiekt ogólny w czasie wykonywania? –
Zrobiłem to kilka razy, szczególnie podczas przenoszenia buforów protokołów. –
Robię adapter do ram wytrwałości tutaj w mojej pracy, a klasy potrzebują tych informacji do wykonywania swojej pracy. –