如何从文字中实例化System.Types列表?
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了如何从文字中实例化System.Types列表?相关的知识,希望对你有一定的参考价值。
我有几种类型:
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") };
如果没有办法摆脱这些神奇的弦乐那么好,我想我应该拥抱它们......
答案
正确的方法是typeof
expression:
List<System.Type> allowedTypes =
new List<System.Type>(){ typeof(ClassA), typeof(ClassC) };
以上是关于如何从文字中实例化System.Types列表?的主要内容,如果未能解决你的问题,请参考以下文章