Yes, you can do it, but no, it is not built into C #. According to Eric, this method is known as aspect-oriented programming.
PostSharp , . IL-weaving, .
, , :
[Serializable]
[MulticastAttributeUsage(MulticastTargets.Method | MulticastTargets.Class,
AllowMultiple = true,
TargetMemberAttributes = MulticastAttributes.Public |
MulticastAttributes.NonAbstract |
MulticastAttributes.Managed)]
class MyAspect : OnMethodInvocationAspect
{
public override void OnInvocation(MethodInvocationEventArgs eventArgs)
{
Console.WriteLine("Hello, i'm modified method");
base.OnInvocation(eventArgs);
}
}
MyAspect , . , , TargetmemberAttributes MulticastAttributeUsage. , .
( AOP ).