I need to implement this:
static class MyStaticClass
{
public const TimeSpan theTime = new TimeSpan(13, 0, 0);
public static bool IsTooLate(DateTime dt)
{
return dt.TimeOfDay >= theTime;
}
}
theTime
is a constant (seriously :-), like π
is, in my case it'd be pointless to read it from settings, for example. And I'd like it to be initialized once and never changed.
But C# doesn't seem to allow a constant to be initialized by a function (which a constructor is). How to overcome this?
Using readonly
instead of const
can be initialized and not modified after that. Is that what you're looking for?
Code example:
static class MyStaticClass
{
static readonly TimeSpan theTime;
static MyStaticClass()
{
theTime = new TimeSpan(13, 0, 0);
}
}