System.ICloneable インターフェイスを継承する汎用インターフェイスを作成しようとしていますが、Clone() メソッドの returntype は T です。もちろん、T 型には System.Object クラスの継承であることを確認するための制約が必要ですが、次のコードは機能しません。
public interface ICloneable<T> : System.ICloneable where T : object {
T Clone ();
}
私は何を間違っていますか?
また、次の制約は機能しません。
- ここで T : System.Object
- T : クラス
この場合、この問題を解決するために、戻り値の型を絞り込むことができるという Liskov-principle をどのように使用できますか?
PS: 私の英語が間違っていたら申し訳ありません。私は英語のネイティブ スピーカーではありません。