【发布时间】:2015-09-02 03:13:56
【问题描述】:
我知道这是个坏主意,但我有一个基类,其中包含 很多 虚方法 A()、B()、C() 和一组匹配的 getter bool SupportsA( ), bool 支持B(), ...
这个想法是实现者只想为一小部分虚拟方法提供功能,我想解除他们同时覆盖相关 getter 的责任。有没有办法从基类中判断 任何 (可能不止一个)子类是否覆盖了特定方法?请注意,这些类可能在不同的程序集中定义,所以我不知道类型。
public class
{
public bool SupportsA
{
get { return (A == overridden); }
}
public virtual void A()
{
// Null default implementation.
}
}
已经有一些类似的问题,但他们似乎假设基类型和派生类型在编译时都是已知的。
【问题讨论】:
-
有什么理由不使用接口吗?看起来很适合您的要求...
标签: c# reflection