测试虚拟方法是否已被覆盖

时间:2015-09-01 18:58:26

标签: c# reflection

我知道这是一个坏主意,但我有一个基类,其中很多的虚方法A(),B(),C()和一组匹配的getter bool SupportsA( ),bool supportsB(),...

这个想法是实现者只想为少数虚拟方法提供功能,我想减轻它们覆盖相关getter的责任。有没有办法告诉基类是否任何(可能有多个)子类覆盖了特定的方法?注意这些类可能在不同的程序集中定义,所以我不知道Type。

public class
{
  public bool SupportsA
  {
    get { return (A == overridden); }
  }
  public virtual void A()
  {
    // Null default implementation.
  }
}

已经存在一些类似的问题,但它们似乎假设在编译时已知基类型和派生类型。

1 个答案:

答案 0 :(得分:1)

writeToKafka