以下c#代码有什么问题?编译器报告此错误:
可访问性不一致:参数类型“ClassLibrary1.Interface1”的方法不如方法“ClassLibrary1.Class1.Class1(ClassLibrary1.Interface1)”
使用以下代码:
interface Interface1<T>
{
bool IsDataValid();
/* Other interfaces */
}
public class Class1<T>
{
public Interface1<T> interface1;
public Class1(Interface1<T> interface1)
{
this.interface1 = interface1;
}
}
我已经使用继承来设计我的代码,但是如果有人能告诉我上面的错误我会非常感激。
答案 0 :(得分:55)
您的“Interface1”不公开..
public interface Interface1<T>
{
bool IsDataValid();
/* Other interfaces */
}
答案 1 :(得分:5)
将您的界面标记为公开:
public interface Interface1<T>
如果省略辅助功能标签,则默认为internal
,即只能访问程序集中的其他类。
答案 2 :(得分:1)
第二个解决方案是如果您的界面不是公共的,那么在您处理界面时不要将您的类公开。