訪問修飾符如public
,private
不允許使用C#中的靜態構造函數。但是,Visual Studio代碼分析在C#安全類別中有一個警告,指出「CA2121: Static constructors should be private」。靜態構造函數如何變成非私有的?
是否有可能使靜態構造函數非私有?或者是Visual Studio代碼分析的錯誤?
CLARIFICATION:我不想讓任何構造函數都是非私有的。所以爲什麼?」問題是無關緊要的。我只是對兩個微軟工具之間的矛盾感到好奇,並且想知道是否有任何我不知道如何處理靜態構造函數。
以上鍊接引用:'用戶無法控制何時調用靜態構造函數。如果一個靜態構造函數不是私有的,它可以被系統以外的代碼調用。根據在構造函數中執行的操作,這可能會導致意外的行爲。「# – Tisho
我認爲,相關的引用是」此規則由C#和Visual Basic .NET編譯器強制執行。「所以,不,你不能在C#中將它變成非私有的。 – Henrik