是否有可能创建一个返回未指定类型的泛型函数,就像这样?
Public Function Create(ByVal type As Type) As DeserializationHelper(Of )
Dim DynamicHelper = GetType(DeserializationHelper(Of )).MakeGenericType(type)
Return Activator.CreateInstance(DynamicHelper)
End Function
除了强类型化返回值之外,这里的所有内容都可以正常工作。我可以将其作为对象、非泛型接口或非泛型基类返回,但我正在尝试创建一个非常简洁流畅的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关键字会对我有所帮助吗?
谢谢。:)