无法在静态字段中设置变量值

时间:2015-10-03 00:01:12

标签: c# static call

在这个简单的示例中,为什么StrA函数中的Sample()无法使用" Hi World"串?

string StrA { get; set; }

private void button1(object sender, EventArgs e)
{
    StrA = "Hi World";   //=======>   Get StrA value
}


public static string Sample()
{
    MyClass MyClass1 = new MyClass();

    string a = MyClass1.StrA;  //==========> Can't Set StrA value with "Hi World" string ???

    return (MessageBox.Show(a).ToString());
}

1 个答案:

答案 0 :(得分:0)

使StrA成为静态字段,现在它只是实例的本地属性,因此当您创建一个新实例时      MyClass1 = new MyClass();

StrA属性为空(null),即使你设置了一个值,在创建一个新实例后,新实例将SrtA设为空...