我需要實現這一點:如何在C#中將類實例聲明爲常量?
static class MyStaticClass
{
public const TimeSpan theTime = new TimeSpan(13, 0, 0);
public static bool IsTooLate(DateTime dt)
{
return dt.TimeOfDay >= theTime;
}
}
theTime是一個常數(嚴重:-),像π是,在我的情況下,它會是毫無意義的,從設置讀它,例如)。我希望它初始化一次,永不改變。但是C#似乎不允許一個常量被一個函數(構造函數)初始化。如何克服這一點?
Downvoters:請解釋你爲什麼低估解決OP問題的答案。如果這不是一個好的解決方案,至少要解釋原因。 – ashelvey 2011-06-03 23:13:24
,因爲客觀是非常困難的;) – 2015-05-02 21:58:22
我在我自己的代碼中使用了這個,但是我的肛門保留性格知道每次我做這個事情時都會有一個長期存在的對象來記錄我的應用程序。我有一個長時間運行的應用程序,它已經使用了太多的內存,它只是困擾我。我希望有一個TimeSpan文字會被編譯到我的代碼中。另一種方法是有一個const int,將我的TimeSpan值轉換爲毫秒......但數學。 – Dude0001 2015-07-24 14:52:46