2013-03-27 13 views
0

我有一個列表框填充我的實體名稱,即A1AllocationHelp1Entity如何從字符串返回一個EntityBase2?

在選擇我需要傳遞該字符串名稱以獲得EntityBase2類型。

我可以使用反射得到它:

Public Function CreateEntity(ByVal entityName As String) As EntityBase2 
    Dim myAssembly = Assembly.LoadFrom(DALFileName) 
    Dim assemblyName = Split(dynamicAssembly.FullName, ",")(0) 
    Dim myEntityName = assemblyName & ".EntityClasses." & entityName 
    Dim handle = Activator.CreateInstance(assemblyName, myEntityName) 
    Dim entity = CType(handle.Unwrap(), EntityBase2) 
    Return entity 
End Function 

,但如果我有類型那裏LLBLGEN產生,我希望能夠以某種方式進行實例化,而不訴諸反射。

有什麼辦法可以做到嗎?

回答

0

所有這些便餐代碼可以用一行

Return GeneralEntityFactory.Create(_ 
    CType(System.Enum.Parse(GetType(EntityType), entityName), EntityType)) 

這將返回同一類型,是我一直在尋找的答案被替換。