我认为我不能覆盖派生类的泛型方法。
http://my.safaribooksonline.com/book/programming/csharp/9780071741163/generics/ch18lev1sec13
此链接中的代码运行良好。尽管
的实例类型被调用使用基类而不是派生类型的实例。
现在我很困惑,因为我以前的一个问题Type parameter declaration must be identifier not a type
是关于使用不起作用的基类型实例调用覆盖泛型方法!
最佳答案
问题是对方法签名和声明的简单混淆。链接代码覆盖了返回 T 的方法签名,没有返回 T 的参数,没有参数。这非常好,因为方法签名相同。
链接的问题试图覆盖 Document<T, U>
的返回值与 Document<type1, type2>
,这本身是无效的,因为泛型括号中不允许类型,但也无效,因为覆盖更改了方法签名。
关于c# - 在 C# 中重写泛型方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12167789/