Quelle est la différence entre la méthode d'instance et la méthode statique ?

Y a-t-il une différence entre la méthode d'instance et la méthode statique ? Pour beaucoup de gens, c'est une question stupide. Parce que nous connaissons tous la différence entre eux, une méthode d'instance agit sur un objet de contexte spécifique, qui peut être obtenu en utilisant le mot-clé this ; une méthode statique est définie dans un certain type, et il n'y a pas de concept d'objet de contexte. Mais si nous le regardons du point de vue des fonctions, qu'il s'agisse d'une méthode statique ou d'une méthode d'instance est une opération de traitement des paramètres d'entrée, il semble n'y avoir aucune différence.

Prenez le type IntValue suivant pour encapsuler un entier comme exemple. Il a deux méthodes AsInt32. La méthode d'instance renvoie le champ _value de l'objet InValue actuel ; la méthode statique prend l'objet IntValue comme paramètre et renvoie le champ _value de l'objet . Notre question est : y a-t-il une différence entre ces deux méthodes AsInt32 ?

var cible = new IntValue(123); 
cible.AsInt32(); 
IntValue.AsInt32(cible); public class IntValue 
{ private readonly int _value ;
    public IntValue( int value ) => _v

 
       

Je suppose que tu aimes

Origine blog.csdn.net/shengyin714959/article/details/131640824
conseillé
Classement