我有一个如下所示的代码
此方法中的“xmlSerializableType.AssemblyName
”值为"_Rounded_TreeGOLD, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null"
,即用户定义类的程序集名称,“xmlSerializableType.Name
”为“_Rounded_Tree”。在这里,我需要将“xmlSerializableType.Name
”分配给“type
”,例如"GetType(xmlSerializableType.Name);"
,以便'type'变为type = {Name =“_Rounded_Tree”FullName =“_ Rounded_Tree”}如何实现这个,我的意思是我需要为“type”实现什么代码
答案 0 :(得分:0)
您应该使用Assembly.Load("TheLongNameOfYourAssembly")
assembly = new Assembly()
来加载类型所在的程序集
然后在加载的程序集上,您可以执行GetType
答案 1 :(得分:0)
像Wouter所说,使用Assembly.Load(“AssemblyLongName”)。 在该程序集上,您可以使用assembly.GetTypes()或更好的assembly.GetExportedTypes()仅用于“public”类型。
迭代类型并检查它们的名称。 如果您有一些共同基类或更多信息,可以查看System.Type上的各种方法 例如,您可以使用asmType.BaseType == typeof(yourBaseType)或 typeof运算(yourBaseType).IsAssignableFrom(asmType)。
看看MSDN链接,我很确定你会找到那里所需的一切。
如果您确实知道名称的汇编.GetType(“yourExactTypeName”)也应该有效。