[英]C# Static Classes & Scope
我只是想知道為什么我不能將靜態類定義為protected,private等?
protected static class Class1 {}
編譯器給出以下錯誤消息:
命名空間中定義的元素不能顯式聲明為private,protected或protected internal
因為在命名空間中擁有私有或受保護的成員沒有意義。 命名空間不是像類一樣的孤立統一,因此私有成員是有意義的。 命名空間不能被繼承,因此對受保護的成員沒有用處。
您可以在另一個類中擁有私有或受保護的靜態類:
public class X {
private static class Y { }
protected static class Z { }
}
我只是引用C#規范中的相應子句:
頂級類型(不嵌套在其他類型中)只能具有內部或公共可訪問性。 這些類型的默認可訪問性是內部的
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.