我想要完成与here所描述的完全相同的操作,但在C#中。用受保护的方法装饰类
public interface IFoo { void DoSomething(); }
public class Foo : IFoo
{
public void DoSomething() {...}
protected void Bar() {...}
}
public class Foo2 : IFoo
{
private readonly Foo _foo;
public Foo2 (Foo foo) { _foo = foo; }
public void DoSomething() {...}
protected void Bar()
{
_foo.Bar(); // cannot access Bar() from here
}
}
我看了几个类似的问题,但他们都没有真正告诉你如何解决这个问题。试图用受保护的方法来装饰一个类首先要做的错误事情?
约'protected'整个想法是,它仅在访问当前类和它的子类。在Java和C#中,您将永远无法在只持有引用的类中访问它。 –
相关问题http://stackoverflow.com/a/614844/682480 –