我有一個類只需要在我的代碼中初始化一次,但它所在的函數被多次調用,並且類被一次又一次地初始化。這個類只需要被調用一次,因爲傳入它的數據永遠不會改變,並且讓我的代碼不止一次地重新初始化它是很浪費的。我想讓我的代碼檢查這個類是否已經被初始化,並且可以獲取已經生成的所需信息。我的第一個想法是設計Singleton模式,但我不認爲這是必要的,因爲在我的代碼中沒有其他地方需要這個類。什麼是做這種事的簡單方法?如何避免重新初始化永不改變的類?
1
A
回答
2
1
A static class是一種方法。
public static class MyClass
{
public static bool IsInited { get; private set; }
public static void Init(...)
{
...
IsInited = true;
}
}
如果Init
沒有參數,例如,可以設置所有的屬性本身,那麼你可以使用static constructor而不是Init
。基本上,構造函數將在其他代碼首次訪問屬性時被調用。
public static class MyClass
{
public static bool IsUnix { get; private set; }
static MyClass()
{
IsUnix = Environment.NewLine == '\n';
}
相關問題
- 1. 如何避免初始化已經初始化的變量?
- 2. 如何避免未初始化的值?
- 3. 如何避免變量的重新初始化的動態壁紙
- 4. AutoMapper如何避免初始化
- 5. 如何避免兩步初始化
- 6. 避免兩相初始化
- 7. 避免在類成員初始化程序中重複類型?
- 8. 如何避免這些變量的初始化?
- 9. 避免重新初始化關鍵部分
- 10. SQL Server 2008複製(避免重新初始化)
- 11. 如何避免代碼重複初始化最終屬性?
- 12. 如何避免重複初始化.mex(matlab編譯代碼)?
- 13. 矩陣初始化 - 如何避免重疊?
- 14. 如何避免重新初始化需要很長時間才能初始化的活動
- 15. 如何避免「局部變量mMap可能未初始化」
- 16. 重新初始化Java類
- 17. 每次控件初始化時如何避免重新綁定網格?
- 18. 不C#集合初始化語法避免違約的初始化開銷
- 19. Minimalizate知名度VS避免初始化
- 20. 避免拷貝初始化時參考
- 21. 避免重複對象初始值
- 22. C#初始化類變種x =新類()
- 23. 避免初始化變量來存儲每個()的返回
- 24. 如何重新初始化我的bean
- 25. PMD:避免初始化新對象的內部循環
- 26. 如何避免初始化繼承模塊的入口點
- 27. 避免重新初始化我的表視圖的數據源(核心數據)
- 28. const變量的複雜初始化,同時避免新的分配
- 29. 重新初始化一個變量
- 30. 重新初始化變量XSLT
我怎麼樣一個靜態類 – Rohit