您正试图通过同一程序中的两个项目访问静态成员,对吗?不是两个单独的程序。
如果是这样,我认为您在值类型和引用类型之间存在误解。您可以从两个项目中更新共享变量,但这些值不会传播。我将使用一个类来演示,而不是您正在使用的两个。
static class Test
{
public static bool logged_in;
}
Test.logged_in = true;
var t = Test.logged_in;
Console.WriteLine(l); // prints true
Test.logged_in = false;
var f = Test.logged_in;
Console.WriteLine(f); // prints false
Console.WriteLine(t); // prints true
t
请注意,当您更改静态成员时,值是如何没有更新的?那是因为bool
是值类型,而不是引用类型。因此,当您请求该值时,您会收到该值的副本,而不是对变量的引用。
如果静态成员是引用类型,您可以观察到不同的行为:
static class Test
{
public static string logged_in;
}
Test.logged_in = "true";
var t = Test.logged_in;
Console.WriteLine(l); // prints "true"
Test.logged_in = "false";
var f = Test.logged_in;
Console.WriteLine(f); // prints "false"
Console.WriteLine(t); // prints "false"