1

我已在规则集中将 CA1007 作为错误打开。然后我编写了下面的代码来违反此规则,但它仍然没有将其检测为警告或错误。不确定我在哪里犯了错误,是在代码中还是在规则集中?

class Program
{
    public static void Swap(ref object object1, ref object object2)
    {
        object temp = object1;
        object1 = object2;
        object2 = temp;
    }

    static void Main(string[] args)
    {
        string string1 = "Swap";
        string string2 = "It";

        object object1 = (object)string1;
        object object2 = (object)string2;
        Program.Swap(ref object1, ref object2);
        string1 = (string)object1;
        string2 = (string)object2;
        Console.WriteLine("{0} {1}", string1, string2);

        Console.ReadLine();
    }
}

有什么建议么?谢谢!

4

1 回答 1

1

由于Program是私有类(它上面没有修饰符,所以默认为私有),从外部看不到公共静态方法。这CA1007旨在确保公共 API 使用良好的签名,但内部、私有和其他不可见的方法不受此规则的约束。

于 2013-06-20T22:06:31.747 回答