如何在c#中创建同一个类的对象?

时间:2014-02-20 22:50:52

标签: c# activator createinstance

我需要一个与另一个对象相同的类的实例,但我不知道确切的类型。我有以下代码。

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"不是空的,一切似乎都是对的。

我用Google搜索但没有运气......但是我看到人们抱怨Activator.CreateInstance太慢的评论......是真的吗?什么是做这份工作的最好方法?

1 个答案:

答案 0 :(得分:0)

很抱歉这是我的错误......因为 D Stanley 正确地指出db是null,这就是程序抛出异常的原因。