2014-01-08 33 views
0

我有以下幾點 -可訪問性不一致:基類(接口)比子類不太容易接近

public interface IAView 
{ 

} 

public class BController<TView> 
{ 

} 

public interface IAController 
{ 

} 

我訪問這些類througn派生類,這是

public class D : BController<IAView>, IAController 
{ 

} 

當我嘗試編譯該程序,我得到一個錯誤,說「基類IAView不如D類訪問」

請幫助。我與MVC在Visual Studio點淨使用C#的工作

+1

如果我將這些定義複製並粘貼到一個空白項目中,它編譯得很好。因此,在某處,您顯示的定義和項目中的定義不匹配。 –

+2

你發佈的代碼編譯得很好,沒有那個錯誤信息。該錯誤消息與代碼的繼承結構不匹配。請編一個最小的例子,當編譯時給出錯誤。 –

+0

嘗試清潔和重建。有時編譯器會維護以前版本的舊對象文件。 –

回答

2

此代碼編譯

public interface IAView 
{ 

} 

public class BController<TView> 
{ 

} 

public interface IAController 
{ 

} 

public class D : BController<IAView>, IAController 
{ 

} 

class Program 
{ 
    static void Main(string[] args) 
    { 
    } 
} 

如果你包了私人修飾符的類之一 - 它會給你的錯誤 - 因爲

private class PrivateClass 
{ 
    public interface IAView 
    { 

    } 
} 

public class BController<TView> 
{ 

} 

public interface IAController 
{ 

} 

public class D : BController<PrivateClass.IAView>, IAController 
{ 

} 

class Program 
{ 
    static void Main(string[] args) 
    { 
    } 
} 
相關問題