当前位置:  开发笔记 > 编程语言 > 正文

将Extension方法应用于具有泛型类型的泛型类

如何解决《将Extension方法应用于具有泛型类型的泛型类》经验,为你挑选了1个好方法。

我正在使用vb.net中的泛型类.
并且似乎扩展方法不能在没有指定类型的情况下应用于泛型类.

我有这个通用类

Public Class MyGeneric(Of T)
    'Methods and properties go here 
    '
    '
End Class  

还行吧

 _
Public Sub DoSomething(ByVal myGenericDoubleObj As MyGen(Of Double))

End Sub  

这不行(IDE给我的错误T未定义.)

 _
Public Sub DoSomethingGeneric(ByVal myGenericObj As MyGen(Of T))

End Sub

这与.Net的静态检查有关.
对我说"你可能尝试用T型做的事可能不兼容,我不会允许你这样做."

PS我作为通用类所带来的所有痛苦来自另一个库,并在许多不同的地方使用.我很遗憾在继承的泛型类中继承和添加此方法.



1> Binary Worri..:

如果您使扩展方法成为通用方法,它应该可以工作

即DoSomething (Of T)()只是DoSomething()的实例

 _
Public Sub DoSomething(Of T)(ByVal myGenericObj As MyGeneric(Of T))
End Sub

希望这可以帮助


C#version:public static void DoSomething (this MyGeneric myGenericObj)
推荐阅读
跟我搞对象吧
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有