簡體   English   中英

返回未指定類型的泛型

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM