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