覆盖不同命名空间C#中的方法

时间:2014-04-28 12:45:35

标签: c# inheritance namespaces polymorphism override

我在不同的项目中有两个班级。

名为GeneralConcept的第一个位于命名空间I.am.here,并且有一个名为protected virtual的{​​{1}}方法。

第二个名为DoSomething,位于名称空间SpecificInstanceOfConcept,并且继承自I.am.in.a.different.place

我试图覆盖该方法。具有相同的名称,相同的输入,相同的类型,并从实现该方法的类继承。然而,
我一直收到错误说

  

没有合适的方法来覆盖

它的设置方式如下所示,

GeneralConcept

感谢您的帮助。

1 个答案:

答案 0 :(得分:6)

跨命名空间的覆盖应该不是问题。该错误表示以下之一:

  • I.am.here.GeneralConcept.DoSomething未标记为virtualabstractoverride
  • I.am.here.GeneralConcept.DoSomething不是publicprotected
  • I.am.here.GeneralConcept.DoSomething的输入(或输出)类型与您的覆盖不同。