First and foremost I would like to say that the Cecil project is an outstanding piece of work and I'm really glad I came across it, I feel like I learned a lot working with it. I humbly tip my hat to the author(s.)
I've written and published a development utility which relies on Cecil to rewrite assemblies and add property change notification using attributes as a mechanism to control the implementation of this behavior. My goal isn't to advertise my component so before I get into where it is or the specifics of what it does I'll say that as users of the Cecil you may be interested in it as a (hopefully not terrible) example of ways one might do the following: - Read & rewrite assemblies. - Working with attributes. - Traversing a hierarchy of inherited classes through multiple assemblies. - Creating new methods. - Copying IL from one method to another. - Performing value comparison "correctly" for value & reference types, respecting overridden "Equals" methods, etc. - Identifying and handling calls to overridden methods. - Using a weaver as a build action. - Creating a nuget package with an installation script to add references & modify the project file to include the build action. The project is Mathtone.MIST: Code: https://github.com/mathtone/MIST <https://github.com/mathtone/MIST> Nuget: https://www.nuget.org/packages/Mathtone.MIST/ <https://www.nuget.org/packages/Mathtone.MIST/> install-package Mathtone.Mist In short, it modifies properties and adds a call to notification method automatically (there are some similar frameworks out there like PostSharp and Fody, but I think this implementation is novel), also doing things like optionally suppressing notification for values being set that haven't changed. The intended use is in building MVVM applications, where it can conveniently add notification to auto-implemented properties but I've used it successfully to do other things like audit tracking as well. I use this library all the time and I've gotten positive feedback from others who have come across it as well. -- -- -- mono-cecil --- You received this message because you are subscribed to the Google Groups "mono-cecil" group. To unsubscribe from this group and stop receiving emails from it, send an email to mono-cecil+unsubscr...@googlegroups.com. For more options, visit https://groups.google.com/d/optout.