【发布时间】:2014-01-07 18:40:17
【问题描述】:
据我所知,错误发生在以下行之一:
SomeClass foo = new SomeClass();
foo.getSomeStuff(id1,id2,id3, connectionString, UserName, Password, out html, out xml);
SomeClass 基本上是这样的:
public class SomeClass
{
private static System.AppDomain SomeDomain { get; set; }
private static SomeUtility utility { get; set; }
static SomeClass()
{
InitializeSomeClass();
}
private static void InitializeSomeClass()
{
//code here
utility = (SomeUtility)SomeDomain.CreateInstanceAndUnwrap(Assembly.GetExecutingAssembly().FullName, "SomeUtility");
}
public void getSomeStuff(int id1, int id2, int id3, string connectionString, string UserName, string Password, out string html, out string xml)
{
html = xml = "";
utility.ExtractContent(id1, id2, id3, connectionString, UserName, Password, out html, out xml);
}
}
在将本准则翻译成更笼统的术语时,我误读了它。我已经纠正了。这还有意义吗?
我对静态构造函数的经验很少,但我的直觉告诉我问题可能出在某个地方。
【问题讨论】:
-
错误在
SomeOtherClass.methodThatSetsUtility();可能 -
您的
html = xml = "";行是不需要的,因为在它具有设置这两个变量的out参数之后的方法调用。 -
我同意 leppie 的观点。机会是 methodThatSetsUtility();正在返回 null。
标签: c# nullreferenceexception static-constructor