Ivan Ivan - 1 year ago 104
C# Question

How to declare a class instance as a constant in C#?

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 change. But C# doesn't seem to allow a constant to be initialized by a function (which a constructor is). How to overcome this?

Answer Source

Using readonly instead of const can be initialized and not modified after that. Is that what you're looking for?

Recommended from our users: Dynamic Network Monitoring from WhatsUp Gold from IPSwitch. Free Download