簡體   English   中英

為什么我的 class 可以在程序 class 中訪問而沒有提及訪問修飾符?

[英]Why my class is accessible in program class without mentioning access modifier?

我沒有在我的 class 中提到任何訪問修飾符,並將我的 class 移動到一個文件夾中; 根據視頻講座,我正在關注 class 在我的程序 class 中無法訪問,但在我的情況下,我可以訪問該 class; 我的問題是為什么以及如何?

程序.cs:

namespace DemoClassApp2
{
    class Program
    {
        static void Main(string[] args)
        {
            Calculator calculator = new Calculator();
            var sum = calculator.Add(7,8);
            Console.WriteLine(sum);
        }
    }
}

計算器.cs

namespapce DemoClassApp2.Math //<- moved the class to a different namespace/folder
{
    class Calculator
    {
        public int Add(int a, int b)
        {
            return a + b;
        }
    }
}

默認情況下,class 是內部的,這意味着它可以在程序集中看到。 通過將其移動到文件夾中,您將其移動到了不同的命名空間,但沒有移動到不同的程序集中,因此它仍然可見。

如果你想讓它不可見,你可以在你的解決方案中添加一個新項目,它是一個“類庫”,如果你將 class 移動到 class 庫中,你的“程序”將看不到它

class 的默認訪問修飾符是內部的,而不是私有的。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM