内部类的受保护属性

时间:2015-06-30 11:02:07

标签: c# inheritance access-modifiers

我正在努力使定义为internal的类的属性仅由子项(protected)生成。

这里有一个清晰的例子:

internal class Foo
{
     internal int Bar { get; protected set; }

     internal Foo(int bar)
     {
         this.Bar = bar;
     }

     internal void Baz()
     {
         this.Bar++;
     }
}

这会导致错误,即Bar的访问需要比set - 访问者更具限制性(这是正确的,因为protected允许访问类在集会之外)。

我在这里唯一的解决方法是将Bar声明为public,但这不是我实际想要的。我可能需要通过其他方法(甚至可能是孩子)修改Bar而不是构造函数,因此readonly对我不起作用。

是否有可能使internalinternal的属性可供阅读,internalprotected可供写入?

编辑:对不起,我刚才意识到,this question与我的基本相同。我以前没有找到它。

0 个答案:

没有答案