我正在尝试调用此 logger.LogError
方法,但不断调用错误的扩展方法。
我有:
_logger.LogError("This is an error {someBool} and {someString}", someBool, someString);
它正在调用这个扩展方法:
但我想改为调用此扩展方法:
我如何最终调用特定的扩展方法?
更新:
按照下面的建议,按 F12
转到代码...就是这个(之后继续阅读...有一个问题!)
所以起初该命名空间看起来是官方的..
直到我注意到它是 ASSEMBLY 的一部分和东西..并且它都是来自另一个开发人员的私有(private) nuget 包(对于该公司)中的自定义类。厚颜无耻!!!!
所以是的 - 这都是自定义扩展方法。
我认为它是官方 MS 代码的一部分。我道歉。
最佳答案
如果您不喜欢自动解析,您始终可以强制编译器使用其中一个函数所需的确切类型:
_logger.LogError("This is an error {someBool} and {someString}",
new object[] { someBool, someString });
也就是说,我从来没有遇到过这个问题,请检查这个方法来自哪里以及为什么选择它而不是您喜欢的方法。
由于您想要的方法来自未定义其他方法的类,因此您也可以直接调用它,而无需扩展方法语法:
LoggerExtensions.LogError(
_logger,
"This is an error {someBool} and {someString}",
someBool,
someString);
这应该排除那些与您想要的冲突的其他方法。
关于c# - 如何使用 2x 参数正确调用 .NET logger.LogError 方法?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/74862486/