Jac*_*sch 22 c# attributes .net-4.5
我有一种情况,在某些情况下,我希望将一个显式值传递给我的方法,其中一个参数标记为CallerMemberName,并从其他上下文中我希望它自动捕获.我想知道这是否可行,或者属性是否总是优先考虑?
你问我为什么要这样做呢?我正在编写一个可以从任何地方调用的审计组件.它需要审计上下文所需的一些参数,以及CallerMemberName参数.但是在我的一些超级课程中,我已经掌握了一些与审计相关的信息,所以我在那里编写了一个只接受CallerMemberName参数的方法.然后它调用我的审计组件传递它已经在其上下文中的参数以及它已经隐式捕获的调用者成员名称.
Jac*_*sch 31
是的,它是可能的,因此可以隐式和显式地使用它.
private void CaptureCaller(
[CallerMemberName] string callerMemberName = "")
{
// callerMemberName will contain the name of the method that called CaptureCaller if called with no parameters.
// callerMemberName will contain the value of the passed in parameter if provided.
}
CaptureCaller();
CaptureCaller("custom value");
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
2827 次 |
最近记录: |