0

部分クラス内に仮想プロパティを持つことは可能ですか? 私のシナリオでは、Micro-ORM で使用され、データベース テーブルに正確にマップされる自動生成されたクラスがあります。

ただし、これらのクラスを拡張したいことがよくあるためpartial、この場合はキーワードを使用しても問題ありません。

ただし、部分クラスで自動生成されたゲッターをオーバーライドしたいという状況があります。

例えば:

public partial class MyClass {
   public int MyProperty{ get; set; }
}

..自動生成されたコードを操作せずにget、いくつかのカスタム ロジックをオーバーライドして実装したいと考えています。これは非常に重要です。

ありがとう。

4

1 に答える 1

0

おそらく、自動生成されたクラスを変更して、取得と設定を他のファイルに入れることができます。例:

// file: MyClass_1.cs
public partial class MyClass
{
   public int MyProperty
   {
      get { this.MyPropertyGet(); }
      set { this.MyPropertySet(value); }
   }
}

そして他のファイルで:

// file: MyClass_2.cs
public partial class MyClass
{
   private int _myProperty;

   private int MyPropertyGet()
   {
      return _myProperty;
   }

   private void MyPropertySet(int value)
   {
      _myProperty = value;
   }
}
于 2013-02-12T14:02:34.640 に答える