如果两个类继承静态字段,那些类的对象是否会共享相同的值?

Rik*_*ika 1 c# inheritance

是否有可能不同类的不同对象可以在它们之间使用一个共享项(例如,用于动态提供某些信息)或更好地在两个不同类的不同对象之间进行通信?

Class Base 
{
   public static string SomeThing = "Shared With All";
}
Class Der1 :Base
{
     public void DoSomeThing()
     {
          SomeThing = "SomeThing Goes in here...";
     }
}

Class Der2 :Base
{
     public void DoSomeThingElse()
     {
          Console.WriteLine"(SomeThing);
     }
}

....
{
    Der1 dr1 = new Der1();
    dr1.DoSomeThing();  
    Der2 dr2 = new Der2();
    dr2.DoSomeThingElse(); //shows 'SomeThing Goes in here...'  
}
Run Code Online (Sandbox Code Playgroud)

如果它有所帮助,我正在尝试创建某种类型的设计器,因此我需要跟踪设计器上的所有控件及其关联.实际上目前只有两个对象(一个叫做事务,另一个称为地点,不同的地方可以与不同的交易相关联,这种关联是通过用户点击一个地方并指向其他交易完成的(你有没有)看到了Proteus什么?

因此,这种方法将帮助我知道哪个对象正在引用哪个其他对象,因此可以轻松地发现和保存两者之间的关联.

Jon*_*eet 5

静态字段的确没有像普通字段那样继承.还有一个静态场,Base.SomeThing.两个派生类都引用相同的字段:如果有任何更改Base.SomeThing,访问该字段的所有内容都将看到更改.