gpt4 book ai didi

c# - 从全名创建 C# 类型

转载 作者:可可西里 更新时间:2023-11-01 03:12:11 24 4
gpt4 key购买 nike

我正在尝试从类型全名中获取类型对象,我正在执行以下操作:

Assembly asm = Assembly.GetEntryAssembly();  
string toNativeTypeName="any type full name";
Type t = asm.GetType(toNativeTypeName);

我得到的是空值,为什么?

程序集是我的可执行文件(.net 可执行文件),类型名称是:System.Xml.XmlNode

最佳答案

好吧,如果那真的是类型的全名(即包括命名空间)并且它在那个程序集中,那么它应该可以工作。你能举一个没有的例子吗?当您使用 Assembly.GetType 而不是 Type.GetType 时,您不应在类型名称中包含程序集名称。

请注意,通用类型的名称并不是您所期望的那样。例如,您将使用:

assembly.GetType("System.Collections.Generic.List`1");

获取通用列表类型,然后使用 Type.MakeGenericType 提供类型参数。

当然,只有当类型是泛型时才有意义。如果这不是问题所在,我会仔细检查该类型是否确实在您的入口程序集中。

编辑:哦,请注意嵌套类型将是“Container+Nested”而不是“Container.Nested”,如果相关的话......

关于c# - 从全名创建 C# 类型,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1392763/

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