Is there a way in C# or .NET in general to create an attribute on a method which triggers an event when the method is invoked? Ideally, I would be able to run custom actions
An attribute gives information, they are metadata. I don't know of a way to do this offhand, someone might.
You could look at partial methods in .NET which allow you to do some lightweight event handling. You provide the hooks and let someone else handle the implementation. If the method isn't implemented the compiler just ignores it.
http://msdn.microsoft.com/en-us/library/wa80x488.aspx