mam interfejs i streszczenie klasy podstawy określonej w tym samym zespole:wewnętrzny interfejs * mniej * dostępne niż wewnętrzny chroniony konstruktor?
IFoo.cs:
internal interface IFoo { ... }
Base.cs:
public abstract class Base
{
internal protected Base(IFoo foo) { ... }
}
Wytwarza następujący błąd kompilatora:
CS0051: Inconsistent accessibility: parameter type 'IFoo' is less
accessible than method 'Base.Base(IFoo)'
Jeśli sprawię, że konstruktor klasy Base będzie tylko wewnętrzny, błąd zniknie. Ponieważ klasa jest abstrakcyjna, może dodanie zabezpieczonej do niej dostępności nic nie daje ...
Nadal nie rozumiem błędu. MSDN definiuje „chronione wewnętrznego” jako
"Access is limited to the current assembly or types derived from the containing class"
Jak to wewnętrzna IFoo interfejs mniej dostępne niż wewnętrznego konstruktora chronione?
Bardzo dobre, zwięzłe wyjaśnienie tego. – Lemonseed