[英]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.