0
我目前正在編寫一個應用程序,我在其中反序列化相對較大的對象(它也可以增長的大小,取決於用戶添加到他們)。我不想將所有這些內容加載到RAM中,因爲當它們中有很多時它們可能會導致問題。訂閱事件處理程序引用是NULL
無論如何,我想處理由該類的已加載實例引發的事件,如果有已經是我的問題的事件。
我該如何訂閱一個事件處理程序到一個仍然爲空的對象?
我覺得像「如果有一個對象,它引發該事件處理它的方法」。
下面是一些示例代碼,我能想到的,雖然我已經想到它不能正常工作的唯一方法..
public class MyClassA
{
public event EventHandler PropertyChanged;
private string someProperty
public string SomeProperty
{
set
{
someProperty = value;
PropertyChanged?.Invoke(this, EventArgs.Empty);
}
}
public static MyClassA Load(string path)
{
/*...*/
}
}
public class MyClassB
{
public MyClassA InstanceOfA { get; private set; }
public MyClassB
{
//InstanceOfA.PropertyChanged += MyEventHandler; Not working, NullReference
}
// Handle InstanceOfA.PropertyChanged here...
public void MyEventHandler(object sender, EventArgs e)
{
/*...*/
}
}
「?我怎麼可以訂閱一個事件處理程序的對象仍然是空」 - 你不能。 – Enigmativity