En C # quelle est la différence entre:
public static class ClassName {}
Et:
public class ClassName {}
En C # quelle est la différence entre:
public static class ClassName {}
Et:
public class ClassName {}
Tout d'abord, un commentaire sur une réponse posées à propos de ce "statique" signifie. En C#, le terme "statique" signifie "concernant le type lui-même, plutôt que d'une instance de ce type." Vous accédez à un membre statique (à partir d'un autre type) en utilisant le nom de type, au lieu d'une référence ou une valeur. Par exemple:
// Static method, so called using type name
Guid someGuid = Guid.NewGuid();
// Instance method, called on a value
string asString = someGuid.ToString();
Maintenant, les classes statiques...
Les classes statiques sont généralement utilisés comme "utilitaire" des classes. L'exemple canonique est probablement l' System.Math
. Il n'est pas judicieux de créer une instance de math - il juste de "l'est". Quelques règles (à la fois "peut" et "ne peut pas"):
object
. Vous ne pouvez pas spécifier un autre type de base, ou de faire de la statique de la classe implémente une interface.abstract
modificateur de vous-même.sealed
modificateur de vous-même. Une classe statique ne peut pas être instanciée et ne peut contenir que des membres statiques. Par conséquent, les appels pour une classe statique sont les suivants: MyStaticClass.MyMethod(...)
ou MyStaticClass.MyConstant
.
Une classe non statique peut être instanciée et peut contenir des membres non statiques (constructeurs d'instance, destructeur, indexeurs). Un membre non statique d'une classe non statique ne peut être appelé que via un objet:
MyNonStaticClass x = new MyNonStaticClass(...);
x.MyNonStaticMethod(...);
Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.