共通变量修改后,其他引用该变量的项目还是没有变化,请问怎么办
举例:
类库A
public class Class1 {public static string AA = "AAA";}
类库B,引用了A
public class Class1 {public static string BB = A.Class1.AA;}
项目winform,引用了类库A,B
button点击事件写
A.Class1.AA="CC";
MessageBox.Show( B.Class1.BB);
举例的结果,还是显示AAA,请问这种多项目文件共通变量的修改与引用怎么解决
目前的解决方案:修改为一个配置文件,全部项目用这一个配置文件应该可以;
第二个方案就是每个项目启动的时候都去读取xml文件内容
你这个代码根本就没办法运行的啊。
首先你确认下那几个字段都是私有的么?而且调用的时候你怎么不实例化来拿值?
就算要达到你的效果,也应该是这样写吧
//namespace A
class Class1
{public static string AA;}
//namespace B
class Class1
{public sting BB=A.Class1.AA;}
//main
A.Class1.AA="CC";
MessageBox.Show(new B.Class1().BB);
不好意思,晕头了,发现写错了,是public static
@灭火的哪吒: 如果你是在同一应用程序域下是只需要把A.Class1放到静态字段中就可以共享。如果在不同应用程序域下,可以通过appdomian对信息进行封装发送。如果在不同进程下,只能找第三者来辅助你共享这些信息,比如sql,cache,file等。
@灭火的哪吒: 你要给它赋值,你却用静态修饰他,static只会被分配一次,下次调用还是原来你给它的值,你要给他赋值就不行了,去掉static就可以了
共通变量是什么意思.是静态变量的意思吗.没听过这个名次..
就是一个说法,目的是多项目共同引用一个类库的一个静态字段,其中一个项目修改该字段后,其他类库用这个字段还是未改变的值,比较头痛
共享的可以设置为静态的,或者是通过单例模式实现。
这名词都没听说过。
就是一个说法,目的是多项目共通引用一个类库的一个静态字段,其中一个项目修改该字段后,其他类库用这个字段还是未改变的值,比较头痛
@灭火的哪吒: 通常,现在有个名词叫:面向切面编程。。。这样的东西,你可以新建一个项目,然后对外提供统一的访问接口访问。。。
比如针对这个字段,你新建一个网站,返回json。。。
lib b:
public class Class1 {public string BB {get{return A.Class1.AA;}}}
去掉static,解决