C# 属性:内部获取,受保护集
我有一个类,它本身是内部的,所以下面声明中的差异没有实际意义,但我想了解它背后的机制 我有一个这样的财产:C# 属性:内部获取,受保护集,c#,properties,C#,Properties,我有一个类,它本身是内部的,所以下面声明中的差异没有实际意义,但我想了解它背后的机制 我有一个这样的财产: public String CreditedAs { get; protected set; } 它编译得很好。任何有权访问该类的人都可以读取getter,setter只能在该类或其派生的类中读取 现在,当我尝试这个: internal String CreditedAs { get; protected set; } 我明白了 为什么呢?及 protected String Cred
public String CreditedAs { get; protected set; }
它编译得很好。任何有权访问该类的人都可以读取getter,setter只能在该类或其派生的类中读取
现在,当我尝试这个:
internal String CreditedAs { get; protected set; }
我明白了
为什么呢?及
protected String CreditedAs { internal get; set; }
也不起作用。我认为您混淆了
受保护的
和内部的
internal
-表示该类型只能在程序集中使用。不在装配外部
protected
-表示可以在给定类型和从基类型派生的类型中访问该类型
所以,如果你用like来解释,就会产生问题
因此,如果您想实现这两种功能,可以使用受保护的内部——这表示该类型可用于in类型和in派生类型,并且仅可用于in程序集。如果它适用于您,请不要忘记将其标记为已接受。……这个问题与另一个问题不完全相同。虽然遇到了相同的错误,但不同的问题导致了它。我在这一页上登陆,我永远不会登陆标记为此副本原件的页面。除此之外,正确的解释是:注意,可以从另一个程序集B的程序集a中的非密封类派生。在这种情况下,类B可以访问类a的受保护成员,但不能访问内部成员。
protected String CreditedAs { internal get; set; }