Mar 2, 2009 at 6:31 PM
Hello Michael

really fantastic stuff, congratulation!
I like new ideas especially in WPF/Silverlight
the only thing I wonder is if aspect oriented programming would ease the process of this generated code wrapping independent properties,
because I dont really like this (even I see the neccessity).

Anyway, cool stuff
Regards, Christoph
Mar 3, 2009 at 12:53 AM
AOP probably would help ease the pain. Instead of creating an Independent object and calling OnGet() and OnSet(), you could let the interceptor do it.

Three challenges, though. First, I didn't want to take a dependency on any particular AOP container. I'd prefer that any required AOP extension be maintained outside of the Update Controls codebase.

Second, while simple properties are easy to decorate (get{} set{}), collections are more difficult. You have to call OnGet before any accessing method (like Count or enumeration), and OnSet before any modifying method (like Add or Remove). There is no language construct that lets you tell the difference in general.

And third, Update Controls already looks like magic. Adding AOP would really push it over the edge.

If you have some experience with an AOP container (Castle, perhaps?), please give it a shot and see how it looks. I'd love to see what you can come up with.
Mar 7, 2009 at 9:36 AM
Hello Michael

I dont have any experience with AOP, but like many other's I tried some things to get working with Attributes.

You are right, your solution is smart, but smart is not enough, it will have no success if it does not evolve from a smart idea to a great solution.
For my part, generated code that is visible is more eval than databinding (a base class generally solves the problem).

So good luck in pushing your great idea to the next step!
May 28, 2009 at 8:04 AM

christoph_ch68, I don't fully agree with you.

Visible code, generated or otherwise isn't a big driver, MS has tons of generated code you NEVER see.

The only thing you need is the source code that produces the result, and he's providing that.

This is really cool stuff.  That's no guarantee of anything, but it's a start.

Aug 8, 2009 at 12:24 AM
Edited Aug 9, 2009 at 6:22 PM

[Message deleted by author]