Jay*_*man 0 .net c# reflection
我有一个类型名称作为输入传递."MyApp.Modules.Common.contact".
使用Activator.CreateInstance我如何在我正在使用的方法中构造此类型.如果我这样做的话
Type typ = Type.GetType("MyApp.Modules.Common.contact")
Run Code Online (Sandbox Code Playgroud)
典型值始终为空.我该如何解决.请帮忙.
如果只提供类型名称,Type.GetType将查看当前正在执行的程序集,并且mscorlib- 但这就是全部.如果您需要访问不同程序集中的类型,那么您需要获取类型中的程序集名称,例如"MyApp.Modules.Common.contact, MyApp.Modules.Common"(如果程序集名称是"MyApp.Modules.Common"- 或者如果您有Assembly引用,则可以使用Assembly.GetType(string).
如果你不知道,你应该看看在什么装配信息,但你相信,大会已经被加载,你可能会使用AppDomain.GetAssemblies()找到组件,然后通过各那些又将看,调用Assembly.GetType,直到找到一个匹配.
我会鼓励你看看那里怎么类型的信息被传递,虽然周围的设计-理想确保大会的信息是可用的.
| 归档时间: |
|
| 查看次数: |
91 次 |
| 最近记录: |