我有一个引用域项目的ASP.NET Web项目。
在web项目中,我想使用反射从域项目创建一个类的实例,但是我总是得到空值(vb中没有)。
注意:我使用的是非完全限定类名,并希望按照msdn的指示执行搜索(在程序集级别)
dim mytype as type=type.gettype(“度量值”)
'//不产生任何结果(空)
'// lets try this
Dim WasFound As Boolean = False
For Each ObjectType In Me.GetType.Assembly.GetExportedTypes
If ObjectType.Name = theClassName Then
WasFound = True
Exit For
End If
Next
这个问题的答案似乎通常是:
Dim myType as Type = Type.GetType("System.Linq.Enumerable, System.Core, "
+ "Version=3.5.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089"));
但是我看不出必须硬编码版本号(或者必须放在配置文件中)的逻辑……那么如果版本发生更改,而我忘记在反射代码中更新它……是否可以执行gettype,忽略版本、区域性和publickeytoken?