Bonjour @ tous,
J'ai lancé l'analyse de mon code via VS, et j'ai plusieurs fois le message :
J'ai donc été me documenter :
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 ...
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 :
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
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>(); } }
Merci d'avance de vos lumières.
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>(); } }
Partager