2017-06-10 5 views
1

J'utilise VS 2017 Community Edition Je crée un modèle MVVM. Après avoir installé fody je suis erreur sur mon code pendant que l'instructeur du tutoriel mis en œuvre sur vs 2015 voici le code:Erreur lors de l'utilisation de Fody [ImplementPropertyChanged]

using PropertyChanged; 
using System.ComponentModel; 

namespace GProject_MVVM.ViewModel 
{ 
    /// <summary> 
    /// A base view model that fires Property Changed events as needed 
    /// </summary> 
    [ImplementPropertyChanged] // **I got error here** 
    public class BaseViewModel : INotifyPropertyChanged 
    { 
     /// <summary> 
     /// The event that is fired when any child property changes its value 
     /// </summary> 
     public event PropertyChangedEventHandler PropertyChanged = (sender, e) => { }; 
     /// <summary> 
     /// Call this to fire <see cref="PropertyChanged"/> event 
     /// </summary> 
     /// <param name="name"></param> 
     public void OnPropertyChanged(string name) 
     { 
      PropertyChanged(this, new PropertyChangedEventArgs(name)); 

     } 
    } 
} 

[ImplementPropertyChanged] ne doit pas faire l'erreur sur ce point l'instructeur mis en œuvre avec succès afin Y at-il quelque chose qui manque sur mon code? L'erreur dit:

code Gravité Description Suppression ligne Fichier projet État Erreur CS0619 'ImplementPropertyChangedAttribute' est obsolète: « Cette option de configuration a été désapprouvée. L'utilisation de cet attribut consistait à ajouter INotifyPropertyChanged à une classe avec sa définition d'événement associé . Après que toutes les classes qui implémentent INotifyPropertyChanged ont leurs propriétés tressées, ils ont l'attribut ImplementPropertyChangedAttribute ou non. Cet attribut était souvent incorrectement interprété comme une approche opt-in pour avoir des propriétés tissées, ce qui n'a jamais été l'intention ni comment il a jamais fonctionné. Cet attribut a été remplacé par AddINotifyPropertyChangedInterfaceAttribute. ' GProject_MVVM c: \ users \ ahmed HUSSAINY \ documents \ Visual Studio 2017 \ Projects \ GProject_MVVM \ GProject_MVVM \ ViewModel \ BaseViewModel.cs 9 actifs

Répondre

6

L'exception indique déjà la réponse.

ImplementPropertyChangedAttribute 'est obsolète:' Cette option de configuration a été désapprouvée. L'utilisation de cet attribut consistait à ajouter INotifyPropertyChanged à une classe avec sa définition d'événement associé . Après que toutes les classes qui implémentent INotifyPropertyChanged ont leurs propriétés tressées, ils ont l'attribut ImplementPropertyChangedAttribute ou non.

Avec la nouvelle version de Fody.PropertyChanged, vous n'avez plus besoin d'ajouter l'attribut. Il suffit de faire de cette classe que vous voulez tisser mettre en œuvre INotifyPropertyChanged et cela fonctionnera.

Donc, fondamentalement juste supprimer/supprimer [ImplementPropertyChanged] et compilera et tisser (si le tisserand est présent dans FodyWeavers.xml)

+0

mon anglais pas ce niveau donc je suis désolé si je ne comprends pas que vous pouvez être plus clair S'il vous plaît ?. Que dois-je modifier sur mon code –

+0

Merci beaucoup monsieur. –

+1

De rien. N'hésitez pas à marquer mes réponses comme acceptées. Cela aidera les autres ayant le même problème à trouver une réponse. – woelliJ