Since you cannot create an instance of a static type, the behavior of static struct
would be exactly the same as the behavior of static class
. So, there is no reason for creating them. I think it would be theoretically possible to have a static struct
but it would be confusing - how would you choose between static class
and static struct
if the behavior of the two was exactly the same?
Note that static
methods inside a struct are quite useful as you can use them for operations related to the struct, for example DateTime.TryParse
etc.
Technically speaking I don't think that the current C# compiler & runtime could produce something like a static struct
, because internally (at the IL level) static class
is a class that is marked as abstract
and sealed
. And I suppose that you cannot create a struct
that would be abstract
and sealed
(in the IL).
与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…