我有两个类。
有没有办法将DTO实例的字段数据复制到Model实例中? 对于单个字段,我有以下代码
[StructLayout(LayoutKind.Explicit, Size = 12, CharSet = CharSet.Ansi)]
unsafe class Dto
{
[FieldOffset(0)]
public int B;
[FieldOffset(4)]
public int C;
[FieldOffset(8)]
public int D;
}
[StructLayout(LayoutKind.Explicit, Size = 12, CharSet = CharSet.Ansi)]
unsafe class Model
{
[FieldOffset(0)]
public int B;
[FieldOffset(4)]
public int C;
[FieldOffset(8)]
public int D;
}
有没有办法将DTO实例的字段数据复制到Model实例中? 对于单个字段,我有以下代码
var a1 = new Dto { B = 10, C = 20, D = 30 };
var a2 = new Model();
unsafe
{
fixed (int* pa1 = &(a1.B))
{
fixed (int* pa2 = &(a2.B))
{
*pa2 = *pa1;
}
}
}
C#提供类似的方法来复制整个对象吗?逐字段复制不可取,因为这是在高性能环境中。