Si ma compréhension du fonctionnement interne de cette ligne est correcte:C# getter et setter sténographie
public int MyInt { get; set; }
Ensuite, dans les coulisses ce que cela:
private int _MyInt { get; set; }
Public int MyInt {
get{return _MyInt;}
set{_MyInt = value;}
}
Ce que je vraiment besoin est:
private bool IsDirty { get; set; }
private int _MyInt { get; set; }
Public int MyInt {
get{return _MyInt;}
set{_MyInt = value; IsDirty = true;}
}
Mais je voudrais l'écrire quelque chose comme:
private bool IsDirty { get; set; }
public int MyInt { get; set{this = value; IsDirty = true;} }
Ce qui ne fonctionne pas. La chose est quelques-uns des objets dont j'ai besoin pour faire l'IsDirty sur des douzaines de propriétés et j'espère qu'il y a un moyen d'utiliser le getter/setter automatique tout en définissant IsDirty quand le champ est modifié. Est-ce possible ou dois-je me résigner à tripler la quantité de code dans mes classes?
Go avec IronPython à la place. C'est sur le CLR, mais prend en charge la programmation orientée aspect, ce dont vous avez besoin. :) – bzlm
Si vous utilisez Visual Studio, vous pouvez créer un fragment de code pour vous aider à gagner du temps au moins. – ebrown