Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/303.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 如果该类包含与我分配给的基类相同的基类,如何复制该类?_C# - Fatal编程技术网

C# 如果该类包含与我分配给的基类相同的基类,如何复制该类?

C# 如果该类包含与我分配给的基类相同的基类,如何复制该类?,c#,C#,是否可以使用b中的值初始化实例c?i、 e.初始化它,以便设置ClassA中的所有属性?没有内置的方法 您需要编写一个手动分配属性的函数。 您也可以编写一个使用反射分配属性的函数,但这样做的速度会非常慢。没有内置的方法 您需要编写一个手动分配属性的函数。 您还可以编写一个使用反射分配属性的函数,但这会非常慢。您可以编写如下构造函数: class ClassA { } class ClassB : ClassA { // it has its set of properties }

是否可以使用b中的值初始化实例c?i、 e.初始化它,以便设置ClassA中的所有属性?

没有内置的方法

您需要编写一个手动分配属性的函数。

您也可以编写一个使用反射分配属性的函数,但这样做的速度会非常慢。

没有内置的方法

您需要编写一个手动分配属性的函数。

您还可以编写一个使用反射分配属性的函数,但这会非常慢。

您可以编写如下构造函数:

class ClassA
{

}

class ClassB : ClassA
{
    // it has its set of properties
}

class ClassC : ClassA
{

}


ClassB b = Factory.LoadB();

ClassC c = b as ClassA;  // doesn't work

您可以编写如下构造函数:

class ClassA
{

}

class ClassB : ClassA
{
    // it has its set of properties
}

class ClassC : ClassA
{

}


ClassB b = Factory.LoadB();

ClassC c = b as ClassA;  // doesn't work

您不能这样做,因为
ClassC
不是
ClassA

class ClassC: ClassA
{
    public ClassC(ClassB initial_value)
    {
        // Copy data here
    }
}

ClassC c = new ClassC(b);

您不能这样做,因为
ClassC
不是
ClassA

class ClassC: ClassA
{
    public ClassC(ClassB initial_value)
    {
        // Copy data here
    }
}

ClassC c = new ClassC(b);