gpt4 book ai didi

c# - 您能否通过显式传递值来覆盖自动捕获的参数的值?

转载 作者:IT王子 更新时间:2023-10-29 04:38:31 26 4
gpt4 key购买 nike

我有这样一种情况,在某些上下文中我想将一个显式值传递给我的方法,其中的参数用 CallerMemberName 标记,而在其他上下文中我希望它自动捕获。我想知道这是否可能,或者该属性是否始终优先?

你问我为什么要这样做。我正在编写一个可以从任何地方调用的审计组件。它采用审计上下文所需的一些参数,以及 CallerMemberName 参数。但是在我的一些父类(super class)上,我已经有了与审计相关的某些信息,所以我在那里编写了一个只采用 CallerMemberName 参数的方法。然后它调用我的审计组件,传递它在上下文中已有的参数以及它已经隐式捕获的调用者成员名称。

最佳答案

是的,这是可能的,所以它既可以隐式使用也可以显式使用。

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");

关于c# - 您能否通过显式传递值来覆盖自动捕获的参数的值?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19721423/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com