Mögliche Duplizieren:
Why Explicit Implementation of a Interface can not be public?Warum kann ein explizit implementiertes Mitglied nicht öffentlich sein?
I read this Question. Gerade von der Frage
interface IRepository<T>
{
void AddString();
}
interface IStringRepo : IRepository<string>
{
List<string> GetStrings();
}
public class BLL : IStringRepo
{
public List<string> FilterStrings()
{
return new List<string>() { "Hello", "World" };
}
public List<string> IStringRepo.GetStrings()
{
throw new NotImplementedException();
}
public void IRepository<string>.AddString()
{
throw new NotImplementedException();
}
}
Warum macht ein explizit verwiesen Mitglied Öffentlichkeit ein Error
ist?
Was erwarten Sie vom Modifikator 'public'? Sie können (zumindest ab normalem C# -Code) diese Methode nur über die Schnittstelle aufrufen, da sie keinen normalen Methodennamen hat. – CodesInChaos
Weil die Sprachspezifikation das sagt. – Jon
Wenn Sie explizite Schnittstellenimplementierung 'public' machen könnten, was wäre der Unterschied zwischen dieser normalen (impliziten) Schnittstellenimplementierung? – svick