.NET Framework Définition de classe


Exemple

Les classes héritent de System.Object, sont des types de référence et vivent sur le tas. Lorsque les types de référence sont passés en paramètre, ils sont transmis par référence.

public Class MyClass
{
    public int a;
    public int b;
}

Passé par référence signifie qu'une référence au paramètre est transmise à la méthode et que toute modification apportée au paramètre sera répercutée en dehors de la méthode lors de son retour, car la référence est exactement le même objet en mémoire . Utilisons le même exemple qu'auparavant, mais nous allons "envelopper" les int dans une classe en premier.

MyClass instanceOfMyClass = new MyClass();
instanceOfMyClass.a = 5;
instanceOfMyClass.b = 6;

AddNumbers(instanceOfMyClass);

public AddNumbers(MyClass sample)
{
    int z = sample.a + sample.b; // z becomes 11
    sample.a = sample.a + 5; // now we changed a to be 10
    z = sample.a + sample.b; // now z becomes 16
} 

Cette fois, lorsque nous avons modifié sample.a à 10 , la valeur de instanceOfMyClass.a change également , car elle a été transmise par référence . Passé par référence signifie qu'une référence (parfois aussi appelée pointeur ) à l'objet a été transmise à la méthode, au lieu d'une copie de l'objet lui-même.

Rappelez-vous que les types de référence résident sur le tas et sont transmis par référence.