[英]Return generic of unspecified type
是否可以像這樣創建一個返回未指定類型的泛型的 function?
Public Function Create(ByVal type As Type) As DeserializationHelper(Of )
Dim DynamicHelper = GetType(DeserializationHelper(Of )).MakeGenericType(type)
Return Activator.CreateInstance(DynamicHelper)
End Function
除了強輸入返回值外,一切都在這里工作。 我可以將它作為 object、非通用接口或非通用基礎 class 返回,但我正在嘗試制作一個非常簡潔流暢的 API。
我正在嘗試創建這樣的語法:
Dim Loader As New XLoader(parentContainer, Map)
Dim MyCreature As Creature = Loader.Create(GetType(Creature)).From(xml.<Creature>)
...是的,我知道有內置的 xml 序列化器——我希望它們對我有用,但我需要更多控制。 ;)
如果我將此部分移到另一個項目中並在 C# 中編寫(然后從 VB.NET 項目中使用它),C# 的 Dynamic 關鍵字對我有幫助嗎?
謝謝。 :)
不是VB
專家,但希望這會有所幫助:
Public Function Create(Of TResult)() As DeserializationHelper(Of TResult)
Return Activator.CreateInstance(Of DeserializationHelper(Of TResult))()
End Function
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.