Les propriétés sont un peu plus que du sucre syntaxique pour les méthodes set/get, et il est, AFAIK, aucun moyen de capturer toute sorte de référence à un (quelque chose s'apparente à une méthode liée, je suppose).
La meilleure solution que je peux penser, ce qui nécessite VS2010, est de passer quelques lambdas autour de:
auto set = [=](bool b) { Box->Checked = b; };
auto get = [=]() -> bool { return Box->Checked; };
EDIT (puisque vous n'avez pas VS2010):
Vous pouvez bien bien sûr revenir à la convention plus baroque d'écrire une classe spéciale à usage:
public generic<typename T> interface class PropertyProxy
{
property T Field;
};
public ref class CheckBoxChecked : public PropertyProxy<bool>
{
public:
CheckBoxChecked(System::Windows::Forms::CheckBox^ box) : _box(box) { }
property bool Field
{
bool get() { return _box->Checked; };
void set(bool b) { _box->Checked = b; };
}
private:
System::Windows::Forms::CheckBox^ _box;
};
Si quelqu'un vous demande jamais ce que C++ lambdas sont bons pour, il est difficile de passer devant cet exemple .
Je vois. J'ai peur que ce n'est pas une option cependant. Je suppose que j'attendrai une autre réponse pour confirmer/contredire la vôtre. Merci pour la réponse rapide. – shadeMe
Ah, ça devrait m'aider à traverser la nuit. Merci beaucoup! – shadeMe