Bonjour @ tous,

J'ai lancé l'analyse de mon code via VS, et j'ai plusieurs fois le message :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
Avertissement	CA2214	'tblContact.tblContact(enmFormatFiltre)' contient une chaîne d'appel aboutissant à un appel vers une méthode virtuelle définie par la classe. Vérifiez le parcours de pile suivant et analysez-y toutes les conséquences imprévisibles*: 
tblContact..ctor(enmFormatFiltre)
tblContact.set_isCompany(Nullable<Boolean>):Void
vmBase.OnPropertyChanged(String):Void	Ubrik	...
J'ai donc été me documenter :
https://msdn.microsoft.com/fr-fr/library/ms182331.aspx
Et en fait, j'ai compris que c'est parce que j'affecte des propriétés dans le constructeur d'une classe surchargée.
Il est vrai que je faisait ça :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
 
public class tblContact : tblModel {
        string _lastName, _firstName;
        bool? _isCompany;
        public string firstName { get { return _firstName; } set { _firstName = value; OnPropertyChanged(nameof(firstName)); } }
        public string lastName { get { return _lastName; } set { _lastName = value; OnPropertyChanged(nameof(lastName)); } }
        public bool? isCompany { get { return _isCompany; } set { _isCompany = value; OnPropertyChanged(nameof(isCompany)); } }
        public ObservableCollection<tblEmail> emails { get; set; }
 
        public tblContact(enmFormatFiltre formatFiltre) : base(formatFiltre) { // Constructeur
            isCompany = false;
            lastName = string.Empty;
            firstName = string.Empty;
            emails = new ObservableCollection<tblEmail>();
        }
}
Du coup, si j'ai pu déporter les types simples, comment je peux faire pour les types instanciables ???
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
public class tblContact : tblModel {
        string _lastName, _firstName=string.Empty;
        bool? _isCompany = false;
        public string firstName { get { return _firstName; } set { _firstName = value; OnPropertyChanged(nameof(firstName)); } }
        public string lastName { get { return _lastName; } set { _lastName = value; OnPropertyChanged(nameof(lastName)); } }
        public bool? isCompany { get { return _isCompany; } set { _isCompany = value; OnPropertyChanged(nameof(isCompany)); } }
        public ObservableCollection<tblEmail> emails { get; set; }

        public tblContact(enmFormatFiltre formatFiltre) : base(formatFiltre) { // Constructeur
            emails = new ObservableCollection<tblEmail>();
        }
}
Merci d'avance de vos lumières.