我想创建一个内部自动属性:
internal bool IP { get; protected internal set; }我认为可以使setter protected或protected internal -但我总是得到错误可访问性修饰符必须比属性更具限制性。不是吗?Private帮不了我。
编辑:
问题是:如何使用内部getter和受保护的setter实现自动属性?
发布于 2009-06-30 14:10:34
它实际上是protected或internal,而不是和。它可以通过派生类和同一程序集中的类型访问,既可以访问,也可以访问。认为protected internal意味着只有同一程序集中的派生类才能访问是一种常见的误解。
发布于 2009-06-30 14:13:51
在.NET级别,有两个相似但不同的访问级别:
在C#中,“受保护的内部”的意思是FamilyOrAssembly;FamilyAndAssembly没有修饰符。
因此,您的protected internal设置器比internal整体属性的限制要小。你能做的就是:
protected internal bool IP { internal get; set; }但你的策划者比你的得奖者少得多,这很奇怪.
另一种(有点类似的)替代办法是:
internal bool IP { get; set; }
protected void SetIP(bool ip)
{
this.IP = ip;
}发布于 2010-12-08 15:36:55
考虑到Jon提到的内容(以及user59808的评论),这难道不能达到预期的结果吗?
protected internal bool IP { get; protected set; }
https://stackoverflow.com/questions/1063901
复制相似问题