0

部分类中是否可以有虚拟属性?在我的场景中,我们有自动生成的类,这些类被我们的 Micro-ORM 使用并精确映射到我们的数据库表。

但是,我们经常希望扩展这些类,因此partial在这种情况下使用关键字绝对没问题。

不过,我有一种情况,我想在部分类中覆盖自动生成的 getter。

例如:

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 回答