为自动属性C#定义自定义功能
本文关键字:定义 自定义 功能 属性 | 更新日期: 2023-09-27 18:25:22
有什么方法可以从基类重写派生类中的自动属性功能吗?例如:
class Foo
{
public override void OverrideSetSomeHow()
{
//do something
}
public override void OverrideGetSomeHow()
{
//do something
}
}
class Bar : Foo
{
public string Name { get; set; }
}
class SomeOtherClass: Foo
{
public Guid Id { get; set; }
}
期望的效果是get和set调用基类中被重写的方法(或者需要调用的方法)。我想在所有派生类中强制执行get和set的功能,而不希望其他使用代码的人知道它到底在做什么,而且它看起来会比把所有相同的逻辑放在一堆不同的地方干净得多。
我不确定我能满足您的需求,但如果您试图实现的是拦截调用,以便您可以做更多的工作,我建议您查看Castle DynamicProxy,它正允许这样做。