2014-04-28 80 views
2

我在不同的項目中有兩個類。在不同的命名空間C中重寫方法#

第一個名爲GeneralConcept的名稱空間爲I.am.here,並且有一個名爲DoSomethingprotected virtual方法。

第二個命名爲SpecificInstanceOfConcept,位於命名空間I.am.in.a.different.place並繼承自GeneralConcept

我想重寫該方法。具有相同的名稱,相同的輸入,相同的類型並從實現該方法的類繼承。然而,
我不斷收到一個錯誤說

沒有合適的方法來覆蓋

它被設置看起來像這樣的方式,

namespace I.am.here 
{ 
    public class GeneralConcept   
    { 
     //stuff 
     protected virtual MyType DoSomething(Inputs input) 
     { 
      //more stuff 
     } 
    } 
} 


namespace I.am.in.a.different.place 
{ 
    public class SpecificInstanceOfConcept : I.am.here.GeneralConcept 
    { 
     //yet more stuff 
     protected override MyType DoSomething(Inputs input) 
     { 
      //even more stuff 
     } 
    } 
} 

謝謝你的幫助。

+0

如果您可以提供一個簡短但完整的問題示例,這將有所幫助。 –

回答

5

覆蓋命名空間不應該是一個問題。該錯誤指示下列之一:

  • I.am.here.GeneralConcept.DoSomething沒有標記爲virtualabstract,或override
  • I.am.here.GeneralConcept.DoSomething不是publicprotected
  • 的輸入(或輸出)類型I.am.here.GeneralConcept.DoSomething比不同的覆蓋。
+1

... friggen輸入!他們有*完全相同的文字。但是,類型是不同的,因爲在一個名稱空間中,類型類也被覆蓋。我正要回答,當然投入是相同的,打我時,我正在看它。謝謝。 – kleineg