Des*_*xAZ 0 c# generics inheritance abstract-class
我有一个C#类,其方法如下:
public class MyType
{
public MyType Clone()
{
var clone = (MyType)MemberwiseClone();
// Do some other stuff here with the clone's properties
return clone;
}
}
Run Code Online (Sandbox Code Playgroud)
我有一堆其他类,我想实现Clone方法所以我想我可以创建一个抽象基类,我可以在其中一般定义Clone方法,所以我不必在每个类中放置具体的实现.
我认为这是可能的,但是我没有对泛型做太多工作,而且我过去(几个月前,因为沮丧而丢弃我的代码)的尝试也没有成功.
这可能吗?如果是这样,怎么办呢?
创建一个抽象的泛型基础,然后在派生的基础上实现具体类型:
public abstract class ClonableBase<T>
{
public T Clone()
{
return (T)this.MemberwiseClone();
}
}
public class RealClass : ClonableBase<RealClass> { }
Run Code Online (Sandbox Code Playgroud)