我是在winform代码中出现这个错误的,前面还没有错误,昨天整理了一下代码后出错了。
仔细回忆才发现有几行代码移到靠前了,后来反思才发现出错的原因,现写出来供大家分享,因为这个错误很隐蔽,生成时不会报错,运行时不可以单步检查,所以如果不注意可能会导致浪费很多时间:
下面的代码就会报这种错误
public static class CadBaseSet { public static XmlHelper xmlLayer = new XmlHelper(zXmlLayer); /// <summary> /// 保存图层名的XML /// </summary> private static string zXmlLayer = "LayerSetting"; /// <summary> /// 保存图层名的XML /// </summary> public static string XmlLayer { get { return zXmlLayer; } set { zXmlLayer = value; } } }
而下面的代码则正常,什么原因不用我说了吧
public static class CadBaseSet { /// <summary> /// 保存图层名的XML /// </summary> private static string zXmlLayer = "LayerSetting"; /// <summary> /// 保存图层名的XML /// </summary> public static string XmlLayer { get { return zXmlLayer; } set { zXmlLayer = value; } } public static XmlHelper xmlLayer = new XmlHelper(zXmlLayer); }