从非泛型类的泛型方法派生泛型方法

Iva*_*van 2 .net c# generics

我有一个非通用的基类,带有泛型方法我希望通过添加一些额外的代码来扩展这个方法,而方法的其余部分应该通过调用base.Method保持不变

这是一个例子

public override List<T> MyMethod<T>()
{

// do some work in here
...
// 

return base.MyMethod<T>(); // **I get an error here saying that T must be a reference type**
}
Run Code Online (Sandbox Code Playgroud)

Vad*_*dim 5

好像你的基本方法有一个类约束.您只需要在覆盖上具有相同的约束

public override List<T> MyMethod<T>() where T : class
Run Code Online (Sandbox Code Playgroud)