不确定这里到底发生了什么,但似乎在 .NET 1.1 中未初始化的事件委托可以毫无问题地运行,但在 .NET 2.0+ 中它会导致 NullReferenceException。任何想法为什么。下面的代码在 1.1 中运行良好,没有问题,在 2.0 中它给出了 NullReferenceException。我很好奇为什么它的行为不同?发生了什么变化?
谢谢
例如
class Class1
{
public delegate void ChartJoinedRowAddedHandler(object sender);
public static event ChartJoinedRowAddedHandler ChartJoinedRowAdded;
public static DataTable dt;
public static void Main()
{
dt = new DataTable();
dt.RowChanged += new DataRowChangeEventHandler(TableEventHandler);
object [] obj = new object[]{1,2};
dt.Columns.Add("Name");
dt.Columns.Add("Last");
dt.NewRow();
dt.Rows.Add(obj);
}
private static void TableEventHandler(object sender, DataRowChangeEventArgs e)
{
ChartJoinedRowAdded(new object());
}
}