Looking for c# Answers? Try Ask4KnowledgeBase
Looking for c# Keywords? Try Ask4Keywords

C# LanguageICloneable


構文

  • オブジェクトICloneable.Clone(){return Clone(); } //カスタムパブリックClone()関数を使用するインターフェイスメソッドのプライベート実装。
  • public Foo Clone(){新しいFooを返します。 } //パブリッククローンメソッドはコピーコンストラクタロジックを利用する必要があります。

備考

CLRは型保護されていないメソッド定義object Clone()が必要です。この振る舞いをオーバーライドし、包含クラスのコピーを返す型安全メソッドを定義するのが一般的な方法です。

クローン作成が浅いコピーか深いコピーかを決定するのは作者次第です。参照を含む不変構造の場合は、詳細コピーを行うことをお勧めします。クラスそのものが参照されている場合は、浅いコピーを実装しても問題ありません。

注: C# 、上記の構文でインターフェイスメソッドをプライベートに実装できます。

ICloneable 関連する例