2013-07-20 64 views
1

我知道在Stack Overflow上有很多關於此問題的問題,所以如果這些解決方案真的適合我,我不會問這個問題。這裏有一些問題我已經看了:不一致的可訪問性,屬性類型

Inconsistent accessibility error C#

Inconsistent accessibility: property type

我指定我所有的類爲公共,按每個解決上述問題,但我米仍然得到相同的錯誤。這裏是我的代碼:

namespace TestResourceManager 
{ 
    public class ViewModel 
    { 
     private List<string> m_ViewOptions = null; 
     private List<MachineRow> m_ViewChoices = null; 

     public ViewModel() 
     { 
      m_ViewOptions = new List<string>(); 
      m_ViewOptions.Add("item1"); 
      m_ViewOptions.Add("item2"); 
      m_ViewChoices.Add(new MachineRow("machinename1", "builddefinition1", "description1", "envname1", "envtype1")); 
      m_ViewChoices.Add(new MachineRow("machinename2", "builddefinition2", "description2", "envname2", "envtype2")); 
     } 

     public List<string> ViewOptions 
     { 
      get { return m_ViewOptions; } 
     } 

     public List<MachineRow> ViewChoices 
     { 
      get { return m_ViewChoices; } 
     } 
    } 
    public class MachineRow 
    { 
     private string MachineName, BuildDefinition, Description, EnvName, EnvType; 

     public MachineRow(string _MachineName, string _BuildDefinition, string _Description, string _EnvName, string _EnvType) 
     { 
      this.MachineName = _MachineName; 
      this.BuildDefinition = _BuildDefinition; 
      this.Description = _Description; 
      this.EnvName = _EnvName; 
      this.EnvType = _EnvType; 
     } 
    } 
} 

此錯誤:

Inconsistent accessibility: property type 'System.Collections.Generic.List<TestResourceManager.ViewModel.MachineRow>' is less accessible than property 'TestResourceManager.ViewModel.ViewChoices' 

該線路存在的:

public List<MachineRow> ViewChoices 

有誰知道爲什麼其他人的解決方案是不是我的案子?任何幫助非常感謝!

+3

該代碼在我的機器上編譯時沒有任何問題。你嘗試過重建還是清理/建造? –

+1

對我來說似乎很好+1,用於清潔/重建。也許值得點擊'MachineRow'並導航到定義,並有可能避免一些錯誤(如果有衝突的定義是錯誤的)。 – Chris

+1

這不是完整的代碼 - 錯誤信息是說''ViewModel'裏面有一個名爲'MachineRow'的內部類 –

回答

2

粘貼的代碼不是完整的代碼。鑑於錯誤消息:System.Collections.Generic.List<TestResourceManager.**ViewModel**.MachineRow>,問題是在ViewModel類的某個地方定義了一個額外的內部類class MachineRow

public class ViewModel 
{ 
    // Somewhere before the closing brace, you're defining a MachineRow class that is not public, ie: 
    class MachineRow {} 
+0

'MachineView'直接定義在我的代碼中的'ViewModel'下面 – t3hclwn

+0

@ t3hclwn在'MachineRow'聲明之前確保'ViewModel'的結束大括號是**。 –

相關問題