0

別のオブジェクトと同じクラスのインスタンスが必要ですが、正確な型がわかりません。次のコードがあります。

abstract public class Row{
     .
     .
     .
}

public class User : Row{
    .
    .
    .
}
.
.
.
.
User test = new User();
Open(test);
.
.
.

private Row backup;

public static void Open(Row row){
    .
    .
    .
    db.backup = (Row) Activator.CreateInstance(row.GetType());
    .
    .
    .
}

しかし、プログラムを実行すると NullReferenceException が生成され、その理由がわかりません...デバッガーでテストしたところ、「行」が null ではなく、すべてが正しいようです。

私はそれをグーグルで調べましたが、運はありません...しかし、Activator.CreateInstanceが遅すぎると不平を言っている人々のコメントを読みました...それは本当ですか? この仕事をする最善の方法は何ですか?

4

1 に答える 1

0

申し訳ありませんが、私の間違いでした... D Stanleyが db が null であることを正しく指摘したため、プログラムが例外をスローしたのはそのためです。

于 2014-02-20T23:22:06.700 に答える