C#:关于受保护和内部变量的问题

时间:2010-08-15 06:13:17

标签: c#

我是C#的新手并且正在阅读this

  • protected:仅限派生类型或相同类型的成员。
  • internal:只有同一个程序集中的代码。也可以是对象外部的代码,只要它在同一个程序集中。 (类型的默认值)
  • protected internal:来自派生类型的代码或同一程序集中的代码。受保护的OR内部组合。

什么是protected internalinternal是否也允许派生类型访问变量?

什么是集会?

2 个答案:

答案 0 :(得分:5)

装配体

程序集是编译代码时获得的.dll或.exe文件。如果Visual Studio中有多个项目,则它们将编译为不同的程序集。

有关详细信息,请参阅MSDN上的Assemblies

受保护的内部

protected internal表示可以从同一程序集中的子类类访问它。它是一个更可见的访问修饰符,而不仅仅是protectedinternal。如果要将类成员限制为仅在同一程序集中的派生类,则必须将类本身标记为internal,将其成员标记为protected

有关详细信息,请参阅Access Modifiers (C# Programming Guide)

答案 1 :(得分:1)

“内部是否也允许派生类型访问变量?”

不,如果他们在不同的集会中,那就不是了。由于程序集本质上是一个CLR(公共语言运行库)DLL或EXE。您可以将其大致视为“库”。