FAQ - kswoll/someta GitHub Wiki
Someta
What is this library? It aims to be a swiss-army knife toolkit for easy meta programming in C# built on the back of the Fody engine.
Why not just use Fody directly?
You can! It's a great library. But it requires you to jump through a number of hoops that you usually don't want to deal with. Besides the fact that it requires you to be well versed in IL and stack based assembly semantics, it also requires the instrumentation code ("weavers") to be declared in a separate project that requires additional setup.
This library is here to give you the ability to create your own weavers in your existing projects with minimal fuss.
Cauldron.Fody already does?
Wait, isn't this whatYes, to a certain extent. But it seems somewhat inactive, and the implementation lacks a certain degree of intuitive freedom that this library hopes to address. One example, their interceptors don't provide a facility to simply "proceed" with the original implementation. Instead, it requires you to target specific interception points (beginning of method, end of method, before property changed, after property changed, handling exceptions, etc.). With Someta, you get access to a delegate that allows you to deal with all of these scenarios in a simple and clean way.