C# – 如何根据字符串返回Type
例如,我有一个名为Clothing的类,它inheritance自Product的抽象类。
public class Clothing : Product { public bool IsInSeason {get; set;} public string Material {get; set; } public Decimal IsFeatured { get; set; } }
编辑:在一个函数中,我如何能够传递字符串“服装”并返回类的类型?
ReturnTypeOfClassBasedOffOfString(string class) { // ... }
使用Type.GetType(string)
请注意,有时候类名称是不够的。 有时您需要提供AssemblyQualifiedName
“如果类型在当前正在执行的程序集中或在Mscorlib.dll中,则提供由其名称空间限定的类型名称就足够了。”
你可以使用Type.GetType
,但是:你想要实现什么? 我敢打赌你需要更简单的东西。 为什么我们需要Clothing
课?
BTW: ReturnTypeOfClassBasedOffOfString(string class)
无法编译。 您需要ReturnTypeOfClassBasedOffOfString(string classname)
或ReturnTypeOfClassBasedOffOfString(string @class)
。
static Type ReturnTypeOfClassBasedOffOfString(string className) { foreach (Assembly a in AppDomain.Current.GetAssemblies ()) { foreach (Type t in a.GetTypes ()) { if (t.Name == className) // Ignore namespace return t; } } return null; }
您可以使用
Type.GetType("MyApplication.Product", true)
为此,您必须包含命名空间(例如,“MyApplication”)。
如果你想获得类型:
Type.GetType
就足够了。如果你想使用它的字符串名称来创建实例,你应该使用它
Activator.CreateInstance
祝好运
上述就是C#学习教程:C# – 如何根据字符串返回Type分享的全部内容,如果对大家有所用处且需要了解更多关于C#学习教程,希望大家多多关注—计算机技术网(www.ctvol.com)!
本文来自网络收集,不代表计算机技术网立场,如涉及侵权请联系管理员删除。
ctvol管理联系方式QQ:251552304
本文章地址:https://www.ctvol.com/cdevelopment/1034203.html