[英]Why do we use internal classes for constants in C#?
我在很多項目中都看到了。 開發人員為什么要使用內部類在C#中存儲常量變量?
例如:
internal static class Constants
{
public const double Pi = 3.14159;
public const int SpeedOfLight = 300000; // km per sec.
}
簡單地說,設計人員認為此類需要在同一裝配中使用。 並且不應將其公開或從引用該程序集的任何項目中訪問。
當您下載Nuget程序包時,您將無法訪問內部的類。 開發人員認為您不需要訪問它們。 因此,這些值對於此軟件包是“私有”的。
有關訪問修飾符的更多信息:
public:訪問不受限制。
protected:訪問僅限於包含的類或從包含的類派生的類型。
內部:訪問僅限於當前程序集。
protected internal:訪問僅限於當前程序集或從包含類派生的類型。
private:訪問僅限於包含類型。
盡管大多數答案都描述了internal
的含義,但它們卻缺少了我認為的一部分問題: 為什么將常量放入內部類中?
這主要是因為他們可以希望通過某種感覺像是名稱空間來標識常量:
double myValue = Constants.Pi * 10;
要么
double myValue = OtherClass.Constants.Pi * 10;
沒有內部類,它們將更像成員/屬性。 至少當他們不使用UPPER_CASING命名時。
要使答案完整: internal
用於保護常量,以防止在組件外部使用它們。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.