public class MyClass
{
// private fields
//////////////////////////////////////////////////////////////////////////
public MyClass(string param1, string param2)
{
// do some stuff
}
private static object syncRoot = new Object();
private static volatile MyClass instance = null;
public static MyClass Log
{
get
{
if (instance == null)
{
lock (syncRoot)
{
if (instance == null)
instance = new MyClass();
}
}
return instance;
}
}
private MyClass()
{
// do some stuff
}
public void myFunction(string txt, uint flags)
{
// do some stuff
}
}
これは私のクラスで、このように使用します
MyClass.Log.myFunction("some string", flags);
しかし、他のクラス関数でこのクラスを使用すると、常に MyClass が null であるか、MyClass.Log が null であることがわかります。
私は何を間違っていますか?
ここでの質問に加えて、私が得るエラーは次のとおりです。
System.NullReferenceException: Object reference not set to an instance of an object.
at MyNamespace.MyClass..ctor()
at MyNamespace.MyClass.get_Log()