gpt4 book ai didi

c# - 为什么我不能调用扩展方法?

转载 作者:行者123 更新时间:2023-11-30 13:17:37 26 4
gpt4 key购买 nike

我有课:

class Program
{
static void Main(string[] args)
{

}

public static int SetFlag_Old(this int i, int flag, bool set = true)
{
return (set) ? i | flag : ((i & flag) != 0) ? (i - flag) : i;

}
}

当我将此代码放入上面的主要方法时,我没有获得调用扩展方法的选项,我也不知道为什么。

int i = 0;
i.

即使我创建了一个非静态方法并插入该代码,我似乎也无法调用扩展方法。我错过了一些非常简单的东西吗?

最佳答案

扩展方法必须在静态类中:

public static class IntExtensions 
{
public static int SetFlag_Old(this int i, int flag, bool set = true)
{
return (set) ? i | flag : ((i & flag) != 0) ? (i - flag) : i;
}
}

http://msdn.microsoft.com/en-us/library/bb383977.aspx

关于c# - 为什么我不能调用扩展方法?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7804967/

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