[英]How to retrieve value from assembly
我有一個如下所示的代碼,這里的“ 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”實現什么代碼
而不是執行assembly = new Assembly()
,應使用Assembly.Load("TheLongNameOfYourAssembly")
加載類型所在的程序集。
然后在加載的程序集上可以執行GetType
就像Wouter所說的那樣,使用Assembly.Load(“ AssemblyLongName”)。 在該程序集上,您可以僅使用“ public”類型的assembly.GetTypes()或更好的assembly.GetExportedTypes()。
遍歷類型並檢查其名稱。 如果您有一些公共基類或更多信息,則可以檢查System.Type上的各種方法。例如,可以使用asmType.BaseType == typeof(yourBaseType)或typeof(yourBaseType).IsAssignableFrom(asmType)。
看一下MSDN鏈接,我非常確定您會在這里找到所需的一切。
如果您確實知道確切的名稱Assembly.GetType(“ yourExactTypeName”)也應該起作用。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.