2012-07-24 129 views
3

Visual C# Express成員,我收到以下錯誤與下面的代碼:C#錯誤:類型「X」已經定義了一個名爲「Y」具有相同的參數類型

'Type 'myComponent.SettingsComponent' already defines a member called 'SolveInstance' with the same parameter types'

但我只用SolveInstance那裏。我做錯了什麼,我下次會怎麼解決這個問題?

namespace myComponent 
{ 
    public class SettingsComponent : GH_Component 
    { 
     protected override void SolveInstance(IGH_DataAccess DA) 
     { 
     } 

     protected override void RegisterOutputParams(GH_Component.GH_OutputParamManager pManager) 
     { 
     } 

     protected override void SolveInstance(IGH_DataAccess DA) 
     { 
      if (m_settings == null) 
      { 
       AddRuntimeMessage(warning, "You must declare some valid settings"); 
       return; 
      } 
      DA.SetData(0, m_settings); 
     } 
    } 
} 
+5

GH_Component.SolveInstance是虛擬/抽象的嗎? – Ani 2012-07-24 15:49:55

+1

這是真正的課堂嗎?在課堂上是否有部分關鍵字?你可以放更多的代碼? – 2012-07-24 15:53:46

+1

您是否嘗試過清潔和重建解決方案? – JMK 2012-07-24 15:55:34

回答

5

它看起來像你的

protected override void SolveInstance(IGH_DataAccess DA) 

兩個實例,在你的榜樣類,一個用空體和一個與代碼。

+0

謝謝@JeffCuscutis我合併了這兩個實例,它的工作! – 2012-07-24 23:25:29

2

試着在項目中找到所有SolveInstance的出現。您可能會在.designer.cs文件中找到此方法的另一個定義。它們是自動生成的,有時會造成重複問題。

+1

在這種情況下,上面的'SettingsComponent'不會成爲部分類嗎? – 2012-07-24 16:00:02

+0

也許它曾經是部分的。我想刪除一段導致代碼自動生成的代碼並不能恢復這種自動生成。但我不是100%肯定的。 – ederbf 2012-07-24 16:05:37

+0

是的,它會是@CameronS。 – Styxxy 2012-07-24 16:05:52

相關問題