c#静态类字段和具有相同名称的参数

时间:2016-04-21 10:40:55

标签: c# static

由于this.name无法访问具有相同名称的字段(如静态类中的方法参数),因此我正在寻找一种方法。

作为一个例子,我想这样做:

static class test
{
    private static string aString;
    public static void method(string aString)
    {
        // aString (field) = aString (parameter)
    }
}

2 个答案:

答案 0 :(得分:9)

使用:

test.Astring = x;

即。在这种情况下,将 this 替换为类名 test

答案 1 :(得分:0)

static class test
{
    private static string Astring="static";
    public static void method(string Astring)
    {
        string passedString = Astring; // will be the passed value
        string staticField = test.Astring; //  will be static  
    }
}

如果我们调用类似test.method("Parameter");的方法,则staticField的值为staticpassedString的值为Parameter

  

关键字this表示该类的当前实例;静态的   无法通过实例访问字段,您应该使用该类   而不是用于访问静态字段的名称。

注意: - 但请注意naming the variables。避免在同一个班级中给出同名。最好定义类,如下所示

static class test
    {
        private static string StaticAstring="static";
        public static void method(string passedAstring)
        {
            string staticField = StaticAstring; // will be static 
            string passedString = passedAstring; // will be the passed value  
        }
    }