我有一個靜態類(稱爲實用程序)與幾個實用程序方法不與任何特定的對象相關聯。然而,大多數這些方法都是參考相同的對象。C#靜態類:我應該將該對象傳遞給構造函數嗎?
public static string Method1(Context context)
{......}
public static string Method2(Context context, Etc etc)
{......}
public static string Method3(Context context)
{......}
此(上下文)對象是在系統的主類中創建的。但是這些靜態方法在以後的事件中被用於系統的不同部分。我應該在Utils類中創建靜態構造函數並從主類初始化上下文對象嗎?或者我應該讓每個調用這些靜態方法的類都傳遞上下文對象,因爲它們已經有了對它的引用?每種方法的優缺點是什麼?
編輯:順便說一句,如果有人很好奇,這是一個Xamarin.Android項目。
在一個執行許多不同操作(例如在屏幕上顯示吐司,讀取設置等,檢查一個調用是否活動)的Android項目中,需要引用由系統在主類中創建的Context對象。這就是爲什麼不同類中的許多方法需要引用同一個上下文對象。另外我沒有代碼給Context類,因爲它不是由我創建的。 –
@AliZahid這是擴展方法的一個很好的用例。 – dasblinkenlight