Ich glaube nicht, Erweiterung Eigenschaften wären fast so nützlich. Ich finde, dass ich meistens Eigenschaften verwende, um Felder zu verkapseln (klassisches get; set;) oder um nur lesbare Güte zu liefern (nur ein get auf einem privaten, readonly, constructor-set Feld). Da Erweiterungen nicht auf private Mitglieder zugreifen können, sehe ich den Punkt nicht wirklich, besonders für "set;". Um etwas zu tun, "set"; müsste nur noch andere Methoden aufrufen. Dann stoßen Sie auf das Problem der Eigenschaften, die Ausnahmen auslösen.
Da Erweiterungen auf die Verwendung von öffentlichen Eigenschaften und Methoden beschränkt sind, finde ich es sauberer und einfacher, Code zu lesen, der eine Dienstprogrammklasse verwendet. Wenn es darauf ankommt, verwenden wir Erweiterungsmethoden, um LINQ hübsch aussehen zu lassen. Um Entwickler davon abzuhalten, das Falsche zu tun, kann ich hier und da in meinem LINQ mit einem Extra() umgehen und mich nur an Erweiterungsmethoden halten.
Diesen interessanten Blogeintrag von Eric Lippert zum Thema gefunden http://blogs.msdn.com/ericlippert/archive/2009/10/05/why-no-extension-properties.aspx – Jon
Lassen Sie diesen Link nicht Kommen Sie zu den agilen Evangelisten, sie werden ROTFLOL im besten Weird Al Stil. Sie legen eine Menge Arbeit in ein Feature und erst nachdem es fast fertig ist, bekommen Sie Feedback vom Hauptkonsumenten, raten Sie, was passiert ist? –