由于this.name
无法访问具有相同名称的字段(如静态类中的方法参数),因此我正在寻找一种方法。
作为一个例子,我想这样做:
static class test
{
private static string aString;
public static void method(string aString)
{
// aString (field) = aString (parameter)
}
}
答案 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
的值为static
,passedString
的值为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
}
}