由于无法在c#中重写静态类,如果我想重写一个方法,我通常会定义一个匹配静态方法签名的委托,然后沿着:覆盖静态类的最佳实践
public static void foo(int bar)
{
if (delegatename!=null)
{
delegatename.Invoke(bar);
}
else
{
//execute previous code as normal
}
}
我感到内疚,因为知道这有点凌乱。
任何人都可以提出一个整洁的解决了这个问题(不是重写原有结构等)
如果你能告诉我们这些静态类是从哪开始的,这将有所帮助。如果你想能够改变行为,那么使用静态类听起来就像是一个糟糕的计划。 – 2010-05-25 09:08:33
尝试重写一个不允许的东西的静态方法,其本质是一种不好的做法。你想达到什么目的? – 2010-05-25 09:25:45