L'appel de constructeur d'autre constructeur de la même classe
J'ai une classe avec 2 constructeurs:
public class Lens
{
public Lens(string parameter1)
{
//blabla
}
public Lens(string parameter1, string parameter2)
{
//want to call constructor with 1 param here..
}
}
Je tiens à appeler le premier constructeur à partir de la 2e. Est-ce possible en C#?
Vous devez vous connecter pour publier un commentaire.
Ajouter
:this(required params)
à la fin du constructeur de faire constructeur de chaînage'Source de Courtoisie de csharp411.com
Oui, vous pouvez utiliser les éléments suivants
L'ordre du constructeur d'évaluation doivent également être pris en considération lorsque le chaînage des constructeurs:
À emprunter auprès de uasin gishu, en réponse, un peu (pour garder le code un peu similaire):
Si nous changeons l'évaluation effectuée dans le
private
constructeur, un peu, nous allons voir pourquoi constructeur de l'ordre est important:Ci-dessus, j'ai ajouté un faux appel de fonction qui détermine si la propriété
C
a une valeur. À première vue, il pourrait sembler queC
aurait une valeur-il est défini dans l'appel de constructeur; cependant, il est important de se rappeler que les constructeurs sont des fonctions.this(a, b)
est appelé - et doit "retourner" - avant lapublic
corps du constructeur est effectuée. Autrement dit, le dernier constructeur appelé est le premier constructeur d'évaluation. Dans ce cas,private
est évalué avantpublic
(juste pour la visibilité en tant qu'identifiant).