我从我的一个应用程序中收到了许多似乎没有任何意义的错误报告。我有一个静态类,它有许多从我的代码的其他部分调用的公共静态方法。这些方法中的大多数都在 XML 文档上创建元素。
大多数这些方法的第一行是调用同一类中的私有静态方法,该方法在 XML 文档上创建元素并返回它,如下所示:
private static XmlElement BuildCmd(string name)
{
XmlElement e = OtherClass.NewElement("CMD");
e.SetAttribute("type", name);
return e;
}
public static uint SendFlightReport(FlightData info, AircraftInfo aInfo)
{
XmlElement cmd = BuildCmd("pirep");
....
some other stuff
....
}
异常生成的堆栈转储都将调用 BuildCmd 的行报告为有问题的行,这没有任何意义 - 在调用静态方法?
编辑:对于那些询问的人,这里是 OtherClass.NewElement 的代码:
public class OtherClass {
private readonly XmlDocument doc = new XmlDocument();
public XmlElement NewElement(string name) {
lock (doc)
return doc.CreateElement(name);
}
}