Ivan Ivan - 1 year ago 75
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?