如何在VB.NET中使函数返回泛型值
我在VB.NET中有一个抽象类。我希望从这个类继承的所有类都返回任何有意义的值。例如,它可以是十进制、整数或字符串。如何在抽象基类中删除函数以实现此目的?这可能吗 现在,我的抽象类如下所示:如何在VB.NET中使函数返回泛型值,.net,vb.net,generics,.net,Vb.net,Generics,我在VB.NET中有一个抽象类。我希望从这个类继承的所有类都返回任何有意义的值。例如,它可以是十进制、整数或字符串。如何在抽象基类中删除函数以实现此目的?这可能吗 现在,我的抽象类如下所示: Public MustInherit Class ConversionBaseClass Public MustOverride Function GetConvertedObject() End Class 我知道它的返回值需要修改,但我不确定是什么。也许是这样的 Public MustOv
Public MustInherit Class ConversionBaseClass
Public MustOverride Function GetConvertedObject()
End Class
我知道它的返回值需要修改,但我不确定是什么。也许是这样的
Public MustOverride Function GetConvertedObject() Of (T)
应该这样做。使基类是T的泛型,然后您可以将其用于方法
Public MustInherit Class ConversionBaseClass (Of T)
Public MustOverride Function GetConvertedObject() As T
End Class
然后定义继承类,如
public Class IntConversion Inherits ConversionBaseClass(Of Integer)
Public Overrides Function GetConvertedObject() As Integer
您的继承类是否总是返回相同的类型(每个继承类),例如BoolConversion总是返回bool?我已经用一个例子更新了我的答案谢谢,这正是我所需要的。您是否打算让它成为一个“公共”类?咆哮,我的键盘总是这样做,当我使用一个名为“count”的变量时,情况更糟!如果要转换为可继承的类类型,我建议使用接口
IConversionInterface(Of Out T)
,而不是抽象类。如果这样做,则IConversionInterface(福特野马敞篷车)
的实现将可用作IConversionInterface(车辆)
。
public Class IntConversion Inherits ConversionBaseClass(Of Integer)
Public Overrides Function GetConvertedObject() As Integer