当前位置:  开发笔记 > 编程语言 > 正文

如何在C#中从字符串创建实例?

如何解决《如何在C#中从字符串创建实例?》经验,为你挑选了1个好方法。

我正在从XML中读取信息,其中包含我需要实例化的对象类型及其构造函数参数.

对象类型实际上位于兄弟命名空间内的另一个项目中.(我需要在Company.Project1类中创建一个Company.Project2.Type.)

我发现了这个问题,但它没有处理构造函数参数或它在另一个命名空间中的事实.

我怎样才能做到这一点?

编辑:项目属性中未正确设置程序集名称和默认名称空间.



1> Jon Skeet..:

您需要指定完整的类型名称Type.GetType(),包括名称空间,例如"Company.Project2.Type"

如果类型不在同一个程序集(或mscorlib)中,则还需要提供程序集名称,包括强类型的版本信息.例如,对于非强类型程序集Company.Project2.dll,您可以指定"Company.Project2.Type,Company.Project2".

要使用参数调用构造函数,您可以调用Activator.CreateInstance(Type, Object[])或获取所需的确切构造函数Type.GetConstructor(),然后调用ConstructorInfo.Invoke().

如果这没有帮助,请提供更多信息.

推荐阅读
ar_wen2402851455
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有