没有智能感知的扩展方法

时间:2013-02-27 04:08:29

标签: c# visual-studio-2010 visual-studio extension-methods intellisense

我创建了一个扩展方法,当我尝试通过 10.getNegative()调用它时,我没有智能感知。但是intellisense适用于

int k = 10;
k.getNegative();

我想知道应该是什么原因?

class Program
{
    static void Main(string[] args)        
    {
        Console.WriteLine(10.getNegative());
    }       
}

static class Math
{
    public static int getNegative(this int i)
    {
        return -i;
    }        
}

1 个答案:

答案 0 :(得分:4)

如果在整数后放置一个点(。),则intellisense会感觉到您可能会写一个小数;要获得智能感知,请使用括号:(10).GetNegative()