事情是这样的,我的程序原来一直用的是32位的,没问题。最近想转成64位的,
运行程序居然报错了,错误很奇怪,说是我的一个静态变量为null?
实际上这个静态变量声明的时候就赋值了,我又编译成32位运行,是不报错的,为什么有这种怪事?
------解决思路----------------------
不想多费什么心思跟踪情况,所以直接改成属性
public static string SystemIniFile { get{ retrun Application.StartupPath + @"\SystemSetting.xml";}}
当然你要愿意多写成 Lazy<string> 也可以
static readonly Lazy<string> _SystemIniFile=new Lazy<string>(()=>Application.StartupPath + @"\SystemSetting.xml);
public static string SystemIniFile=_SystemIniFile.Value;