gpt4 book ai didi

c# - Type.GetType 失败但 property.PropertyType 工作正常

转载 作者:太空宇宙 更新时间:2023-11-03 22:25:37 25 4
gpt4 key购买 nike

我正在遍历对象并初始化该对象的所有属性。首先,对象的类型即类被放置在我的同一个项目中并且工作正常。现在,我将该类移到另一个项目中,但仍然使用 AssemblyName.Namespace.Class 创建相同的对象,但它停止工作了。

这是我之前的代码:

var o = Activator.CreateInstance(Type.GetType(property.PropertyType.Name)); 

上面总是返回空值。所以,我尝试了以下方法:

var o = Activator.CreateInstance(property.PropertyType); 

它工作并创建了正确的对象。我很好奇为什么会这样!

最佳答案

Type.GetType(string)需要类型的完整 名称,包括程序集信息,除非该类型与调用方或 mscorlib 在同一程序集中。此外,您还需要确保您拥有命名空间。因此 Type.FullName 应该在同一个程序集或 mscorlib 中工作,而 Type.AssemblyQualifiedName 应该始终工作。

但是,嘿,如果您已经从 PropertyType 属性中获得作为 Type 的类型,那么无论如何调用 Type.GetType 都是没有意义的:)

关于c# - Type.GetType 失败但 property.PropertyType 工作正常,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1544138/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com