WinCE 5上的MissingMethodException

时间:2013-02-11 11:15:24

标签: events singleton windows-ce c#-2.0 compact-framework2.0

我有两个类,两个都是单例实现的...也许不是最好的架构,但到目前为止应该不重要。

这就是我实施两个单身人士的方式:

private static readonly Singleton instance = new Singleton();

private Singleton(){}

public static SingletonInstance
{
   get { return instance; }
}

Singleton1在Singleton2和Singleton2想要订阅Singleton1中定义的事件之前被实例化:

public delegate void MyDelegate();
public event MyDelegate OnDelegation;

我试图在Singleton2的私有构造函数中订阅该事件,如下所示:

Singleton1.Instance.OnDelegation += new Singleton1.MyDelegate(MyMethod);

......当然我也实施了MyMethod。

当我在Win32上运行此代码时,一切正常,但在使用CF 2.0的WinCE 5上,我在订阅事件时遇到MissingMethodException。当我把订阅放在构造函数之外时,f.e。在一个额外的初始化方法中,它也可以正常工作。

现在我的问题是为什么这只发生在我的设备而不是win32上?

编辑:

以下代码应解释我在启动时如何使用单例:

// Singleton2 class 
private Singleton2()
{
    Singleton1.Instance.OnDelegation += new Singleton1.MyDelegate(MyMethod);
}

public Initialize() { //setting variables etc. }

private MyMethod() { // do something when event is raised }

// main call structure
Singleton1.Instance.Initialize(); // Singleton1 is ready after this call
Singleton2.Instance.Initialize(); // this is were it breaks!

0 个答案:

没有答案