我有一个接口,IFindable
由几个类实现.另一个World
班有一个List<IFindable> items;
我在我的World
类中设置了一个getItems方法,以返回IFindables列表.现在,我试图从我的Default.aspx.cs
班级访问该列表(这是一个Web项目).不幸的是,我似乎无法,因为这个类不明白IFindable是什么.我收到以下错误:
Inconsistent accessibility: return type
'System.Collections.Generic.List<IFindable>' is less accessible than
method 'World.getItems()'
Run Code Online (Sandbox Code Playgroud)
为什么是这样?我错了吗?
听起来您的IFindable
界面不公开,将其更改为此
public interface IFindable ...
Run Code Online (Sandbox Code Playgroud)
如果您当前的声明是这样的
interface IFindable ...
Run Code Online (Sandbox Code Playgroud)
然后编译器使用内部的默认可访问性
接口(如类)可以声明为公共或内部类型.与类不同,接口默认为内部访问.接口成员始终是公共的,并且不能应用任何访问修饰符.http://msdn.microsoft.com/en-us/library/ms173121%28VS.80%29.aspx