为了账号安全,请及时绑定邮箱和手机立即绑定

将字符串转换为C#中的类型

将字符串转换为C#中的类型

Cats萌萌 2019-07-26 16:56:26
将字符串转换为C#中的类型如果我收到一个包含类名称的字符串,并且我想将此字符串转换为实际类型(字符串中的那个),我该怎么做?我试过了Type.GetType("System.Int32")例如,它似乎工作。但是当我尝试使用自己的对象时,它总是返回null ...我不知道提前在字符串中会有什么,所以它是我将其转换为真实类型的唯一来源。Type.GetType("NameSpace.MyClasse");任何的想法?
查看完整描述

3 回答

?
慕码人8056858

TA贡献1803条经验 获得超6个赞

尝试:

Type type = Type.GetType(inputString); //target typeobject o = Activator.CreateInstance(type); // an instance of target typeYourType your = (YourType)o;

Jon Skeet通常是正确的:)

更新:您可以以各种方式指定包含目标类型的程序集,如Jon所述,或:

YourType your = (YourType)Activator.CreateInstance("AssemblyName", "NameSpace.MyClass");


查看完整回答
反对 回复 2019-07-26
?
慕婉清6462132

TA贡献1804条经验 获得超2个赞

如果您确实想要按名称获取类型,可以使用以下内容:

System.AppDomain.CurrentDomain.GetAssemblies().SelectMany(x => x.GetTypes()).First(x => x.Name == "theassembly");

请注意,您可以提供有关您尝试加载的类型的更多信息,从而大大提高性能。


查看完整回答
反对 回复 2019-07-26
  • 3 回答
  • 0 关注
  • 1668 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信