少し調査した結果、クラスに適用できるアクセス修飾子は次のとおりであることがわかりました。
- public - 任意のアセンブリで利用可能
- internal - 現在のアセンブリでのみ使用可能
ただし、以下のエラー メッセージは、クラスが名前空間で定義されていない場合、それがprivate、protected、またはprotected internalとして定義される可能性があることを暗示しているようです。
クラスで使用できるクラス修飾子は public と internal だけですか?それとも他にもありますか?
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
namespace Test2343434
{
class Program
{
static void Main(string[] args)
{
Tools.ToolManager toolManager = new Tools.ToolManager();
Console.ReadLine();
}
}
}
namespace Tools
{
//error: Elements defined in a namespace cannot be explicitly
//declared as private, protected, or protected internal
private class ToolManager
{
public ToolManager()
{
Console.WriteLine("inside tool manager");
}
}
}