我知道instrumentation是一种将跟踪代码动态添加到方法中以启用跟踪和调试的技术.
我想知道这是否只是一个"跟踪"选项,硬编码到CLR中只添加跟踪代码,还是有能力添加任何代码到方法?
例如,我想检查某个类中每个方法调用开头的条件(比如权限).我可以通过在执行时间的方法开头添加动态代码来实现吗?
我不确定这种跟踪"仪表"的工作原理是什么,但我想知道这是否也可以用于其他目标.
所以我要做的是在设置C#类中的任何属性时调用单个propertyWasSet()函数(相反,当获取时为propertyWasGot()).我还想知道调用哪个属性'get'.
我想保持一个'设置'属性的dictonary,并检查'get'动作是否已经设置(并且如果没有则抛出错误).
我正在通过msdn文档查看反思,代表等...,但我不完全确定这是可能的.
有没有办法做到这一点?或者在调用其中一个可以在基类中拦截的函数时触发事件?