属性:内部获取,受保护的集合

时间:2015-01-30 06:22:42

标签: c# properties

我有一个内部本身的类,所以声明中的以下差异没有现实世界的后果,但我想了解它背后的机制。

我有这样的房产:

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; }

也不起作用。

1 个答案:

答案 0 :(得分:1)

我认为您在protectedinternal

之间感到困惑

internal - 表示只能在程序集中访问该类型。不在集会之外。

protected - 表示该类型可以在给定类型和从基类型派生的类型中访问。

因此,如果您使用就像解释创建问题一样。

因此,如果要实现这两种功能,可以使用Protected internal - 它表示类型可用于类型和派生类型,并且仅在程序集中可用。

相关问题