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 并且我不明白为什么......我在调试器上测试了它并且“row”不为空,一切似乎都是正确的。

我用谷歌搜索但没有运气......但是我读到人们抱怨 Activator.CreateInstance 太慢的评论......这是真的吗?做这项工作的最佳方法是什么?

4

1 回答 1

0

抱歉,这是我的错误……正如D Stanley正确指出的那样 db 为空,这就是程序抛出异常的原因。

于 2014-02-20T23:22:06.700 回答