具有内部set和protectedget的属性

c#

我想这样做一个变量(我们称之为 Foo),它只能在程序集中修改,但可以被任何子类访问,甚至在程序集之外所以我想要一个内部集和一个受保护的 get:

这样做protected int Foo { internal set; get; }告诉我这个集合必须比属性或索引器更具限制性但是internal int Foo { set; protected get; }告诉我同样的事情对于 get

我该如何解决?

回答

您可以创建一个内部方法(或代理属性)来调用 set 。

protected int Foo { private set; get; }

internal void SetFoo(int foo)
{
    Foo = foo;
}

在这种情况下,您可以将 setter 设置Fooprivate

请注意,这允许您的程序集中任何引用此对象的内容都可以调用SetFoo,这可能不是您想要的。


以上是具有内部set和protectedget的属性的全部内容。
THE END
分享
二维码
< <上一篇
下一篇>>