gpt4 book ai didi

c# - 模棱两可的扩展方法

转载 作者:IT王子 更新时间:2023-10-29 04:03:14 24 4
gpt4 key购买 nike

我正在对扩展方法进行以下调用:

database.ExecuteScalar(command).NoNull<string>(string.Empty);

我收到扩展方法不明确的错误。

我有两个具有相同代码的 dll,它们在不同的命名空间下实现了 NoNull(string str)

如何显式引用一个命名空间?

如果它是相同的命名空间,我将如何完成它?

更新:我无法重写第 3 方 dll。

最佳答案

  1. 通过在源头重新定义或消除其中一种方法来消除歧义。您不需要冗余。
  2. 如果您不控制源代码,请通过 using 指令在您的类文件中只包含其中一个。
  3. 如果您仍然需要给定类文件中的两个命名空间,只需将您希望的版本作为静态类调用调用,通过(可能是完全限定的)类名明确标识该方法。
 Abc.Xyz.ExtensionsClass.NoNull(database.ExecuteScalar(), string.Empty);
// <Abc.Xyz.> is only necessary if the classes themselves match names
// if not, only <ClassName>.<MethodName> is needed

关于c# - 模棱两可的扩展方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8474882/

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