具有虚拟属性的分部类
本文关键字:属性 虚拟 | 更新日期: 2023-09-27 17:58:52
是否可能在分部类中具有虚拟属性?在我的场景中,我们有自动生成的类,这些类由我们的Micro ORM使用,并精确地映射到我们的数据库表。
然而,我们经常希望扩展这些类,所以在这种情况下使用partial
关键字是完全可以的。
不过,我有一种情况,我想在分部类中重写自动生成的getter。
例如:
public partial class MyClass {
public int MyProperty{ get; set; }
}
我想覆盖get
并实现一些自定义逻辑,而不需要操作自动生成的代码。这一点至关重要。
谢谢。
也许您可以修改自动生成的类,将get和set放在其他文件中。示例:
// 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;
}
}