Tag: 方法隐藏

C#中方法隐藏和阴影有什么区别?

C#中方法隐藏和阴影有什么区别? 它们是相同还是不同? 我们可以将它们称为多态(编译时或运行时)吗?

隐藏通用派生类中的基类方法

我有这样一个基类: class FooBase { public bool Do(int p) { /* Return stuff. */ } } 像这样的儿童class: class Foo : FooBase { private Dictionary Dictionary; public bool Do(T p) { int param; if (!Dictionary.TryGetValue(p, out param)) return false; return base.Do(param); } } 如果用户创建一个名为“fooString”的Foo对象,那么他可以调用fooString.Do(5)和fooString.Do(“test”)但是如果他创建了一个名为“fooInt”的Foo对象,他只能调用派生类的Do方法。 不管T是什么,我更喜欢第二种。 这两个类中的Do方法基本上都做同样的事情。 派生类中的一个使用给定参数从Dictionary获取一个整数,并使用它调用基类的Do方法。 这就是我想在Foo隐藏FooBase的Do方法的FooBase 。 我怎样才能实现这个或类似的东西? 任何克服这一点的设计建议也会很好。