ここで何が起こっているのか正確にはわかりませんが、.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());
}
}