2014-01-08 35 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) 
    { 
    } 
} 
相关问题