У меня есть несколько типов:
public ClassA
{
}
public ClassB
{
}
public ClassC
{
}
Теперь я хотел бы сохранить некоторые из них в списке?
Некоторые из неудачных подходов, которые я пробовал:
List<System.Type> allowedTypes = new List<System.Type>{ ClassA, ClassC };
List<System.Type> allowedTypes = new List<System.Type>{ System.Type.GetType(ClassA), Systme.Type.GetType(ClassC) };
List<System.Type> allowedTypes = new List<System.Type>{ ClassA.GetType(), ClassC.GetType() };
Рабочие подходы, о которых я знаю, кажутся довольно громоздкими:
List<System.Type> allowedTypes = new List<System.Type>{ new ClassA().GetType(), new ClassB().GetType() };
Этот подход громоздок, поскольку требует, чтобы ClassA
и ClassC
были специально подготовлены для такого использования.
List<System.Type> allowedTypes = new List<System.Type>{ System.Type.GetType("ClassA"), System.Type.GetType("ClassC") };
Если нет способа избавиться от этих волшебных ниточек, тогда, я думаю, мне следует их обнять ...