受保护的内部和内部受保护有区别吗?
public class TestClass
{
protected internal int FieldA;
internal protected int FieldB;
}
受保护的内部和内部受检查成员是否有区别?受保护的内部和内部受保护有区别吗?
受保护的内部和内部检查 成员是否有区别?
它们之间没有区别。
protected internal
表示protected
或internal
。
internal protected
表示internal
或protected
。
的类型或成员可以通过组件中的任何代码在 声明它,或从派生类内的另一组件 访问。来自另一个程序集的访问必须发生在 声明中,声明来自声明内部元素的受保护 的类,并且它必须通过派生类类型的 实例进行。
protected internal
commanly used。没有关于internal protected
的说明MSDN
页面。
还检查了菲尔哈克酷博客文章What Does Protected Internal Mean?
'internal'或'internal'? – 2013-02-17 23:58:48
@SimonWhitehead修好了,谢谢。 – 2013-02-17 23:59:56
不,没有区别。你可以以你想要的任何顺序声明它们。就像您可以在访问修饰符之前或之后声明static
一样。
唯一真正的区别应该是你和你的团队所决定的。通常你会想坚持一种风格以避免混淆或假设,或者至少在阅读时保持一致。
编辑:虽然,现在我想起它,我不记得经常看到"internal protected"
。在MSDN page for access modifiers,它确实列出它为"protected internal"
,所以可能坚持,因为它可能被认为是“更标准”。
不,没有。
这两个变体都定义了一个成员,该成员可以从相同的程序集和子类中访问。
你的意思是“OR”? – 2013-02-18 01:21:35
在这种特殊情况下,“和”和“或”将具有相同的含义。 – 2013-02-18 03:48:48
它与逻辑“或” =>内部按位操作:从同一个组件。受保护:来自派生类。 “保护和内部”是没有意义的:-)
没有没有。但是,不要陷入没有意识到它意味着受保护||的陷阱internal'。这并不意味着'保护&&内部'。 – 2013-02-17 23:57:17