如果我在一個文件中聲明一個接口或一個類型爲private,它是否對該文件或名稱空間是私有的?類型可訪問性取決於它所包含的文件嗎?
編譯器產生用於文件2的錯誤:'錯誤14可訪問性不一致:參數類型‘DIDemo1.IImageRepository’比方法更少可訪問的‘DIDemo1.ImageGetter.ImageGetter(DIDemo1.IImageRepository)’
什麼我不不明白的是,MyClass可以使用接口,但ImageGetter類不能。
文件1:
namespace DIDemo1 {
interface IImageRepository {
Image[] GetImages();
}
public class MyClass : IImageRepository {
#region IImageRepository Members
public Image[] GetImages() {
return new Image[] { };
}
#endregion
}
}
文件2:
namespace DIDemo1 {
public class ImageGetter {
IImageRepository _repo;
public ImageGetter(IImageRepository repository) {
_repo = repository;
}
public Image[] GetImages() {
return _repo.GetImages();
}
}
}
類也默認爲內部訪問,只是他明確地將'public'放在它們上面。 – 2010-07-05 00:40:56
雅修正:錯誤是從這裏:http://msdn.microsoft.com/en-us/library/ms173121(VS.80).aspx – 2010-07-05 00:44:30
我喜歡你的解釋。現在有道理。 – 2010-07-05 01:02:01