Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/324.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 内部说明符的工作原理_C#_Internal - Fatal编程技术网

C# 内部说明符的工作原理

C# 内部说明符的工作原理,c#,internal,C#,Internal,我只是尝试在我的BaseClass中使用Internal,告诉我内部类不能在其他方法或类中实例化并产生错误,但是为什么我仍然可以在方法Main()中实例化BaseClass TestAccess.cs internal class BaseClass { public static int intM = 0; } class TestAccess { static void Main() { BaseClass myBase = new BaseClass(

我只是尝试在我的
BaseClass
中使用Internal,告诉我内部类不能在其他方法或类中实例化并产生错误,但是为什么我仍然可以在方法
Main()
中实例化
BaseClass

TestAccess.cs

internal class BaseClass 
{
   public static int intM = 0;
}

class TestAccess 
{
   static void Main() 
   {
      BaseClass myBase = new BaseClass();   // CS0122 This should be an error because BaseClass is Internal class.
   }
}

你误解了MSDN<代码>内部表示该类仅在包含它的程序集中可见。你贴的例子完全正确

MSDN说

引用具有内部访问权限的类型或成员时出错 在定义它的程序集之外。


(强调我的)

您误解了MSDN<代码>内部表示该类仅在包含它的程序集中可见。你贴的例子完全正确

MSDN说

引用具有内部访问权限的类型或成员时出错 在定义它的程序集之外。


(强调我的)

你误解了
内部的意思<代码>内部
项可以从同一程序集中的任何文件(即项目或DLL)访问。在同一文件中有两个类肯定在同一程序集中

发件人:

internal关键字是类型和类型成员的访问修饰符。 内部类型或成员只能在同一文件中访问 装配


您误解了
的内部含义<代码>内部
项可以从同一程序集中的任何文件(即项目或DLL)访问。在同一文件中有两个类肯定在同一程序集中

发件人:

internal关键字是类型和类型成员的访问修饰符。 内部类型或成员只能在同一文件中访问 装配

仅用于在同一程序集中访问。您不会收到错误,因为您位于同一程序集中(在本例中为同一文件)

如果内部类基类在另一个项目中,您将无法访问它。

仅用于在同一程序集中访问。您不会收到错误,因为您位于同一程序集中(在本例中为同一文件)


如果内部类基类在另一个项目中,您将无法访问它。

这意味着我需要两个单独的项目才能使内部说明符工作?如果您希望基于包含它的程序集限制可见性,那么是的。这意味着我需要两个独立的项目才能使内部说明符工作?如果您想基于包含它的程序集限制可见性,那么是的。