Je considérais toujours les structures comme des sortes de choses moins privilégiées, ou quelque chose avec des fonctionnalités moindres. Peut-être à cause des concepts OOP qui soufflent tout dans les Classes. De la petite quantité d'exposition à C#, je comprends que la définition d'une classe statique, s'assure que toutes ses fonctions & sont statiques. Nous ne pouvons pas non plus avoir de constructeur pour initialiser cette classe car il n'y a qu'une seule instance. J'ai été souligné ici à Stack overflow que c'est une mauvaise méthode. Quelqu'un peut-il élaborer.Pourquoi les structures statiques ne sont pas autorisées en C#?
J'ai eu l'erreur appropriée en disant "statique n'est pas valide pour cet article" quand j'ai créé un nouveau fichier cs & compilé dans la console. Etrangement quand j'ai ajouté ceci à un projet de travail existant pour voir si le compilateur se plaindrait mais à ma grande surprise ce n'est pas le cas. Des raisons pour cela ??
En C#, 'static' est un alias pour' abstraite sealed' sur une déclaration de type (il permet également d'autres contrôles de compilation comme la fabrication des méthodes sûres sont statique aussi). Puisque les structures sont des types de valeurs et n'autorisent pas le comportement polymorphe, il est logique que 'static' ne soit pas autorisé. Vous pouvez cependant avoir des membres statiques sur une structure. –
@Steve: Si la classe est statique, le compilateur vérifie aussi * use * du nom du type. Par exemple, vous ne pouvez pas déclarer un paramètre de type Enumerable. Vous avez peut-être été au courant de cela, mais je voulais attirer l'attention sur elle :) –
@Jon: C'est vrai - merci de me le rappeler. –