我有一个内部本身的类,所以声明中的以下差异没有现实世界的后果,但我想了解它背后的机制。
我有这样的房产:
public String CreditedAs { get; protected set; }
它编译得很好。任何有权访问该类的人都可以读取getter,只有该类中的setter或由它派生的类才能读取。
现在我试试这个:
internal String CreditedAs { get; protected set; }
我得到了
The accessibility modifier of the '{class}.CreditedAs.set' accessor
must be more restrictive than the property or indexer '{class}.CreditedAs'
为什么?和
protected String CreditedAs { internal get; set; }
也不起作用。
答案 0 :(得分:1)
我认为您在protected
和internal
internal
- 表示只能在程序集中访问该类型。不在集会之外。
protected
- 表示该类型可以在给定类型和从基类型派生的类型中访问。
因此,如果您使用就像解释创建问题一样。
因此,如果要实现这两种功能,可以使用Protected internal
- 它表示类型可用于类型和派生类型,并且仅在程序集中可用。