我尝试创建一个继承 System.ICloneable 接口但 Clone() 方法的返回类型为 T 的通用接口。当然,T 类型需要约束以确保它是 System.Object 类的继承,但是以下代码不起作用。
public interface ICloneable<T> : System.ICloneable where T : object {
T Clone ();
}
我究竟做错了什么?
以下约束也不起作用:
- 其中 T : System.Object
- 其中 T :类
在这种情况下,我如何使用 Liskov 原则来缩小返回类型来解决这个问题?
PS:对不起我的英语,如果我犯了错误。我不是以英语为母语的人。