我有一个班级:
public class NormalClass
{
public float FloatValue1 {get;set;}
public float FloatValue2 {get;set;}
public Boolean BoolValue1 {get;set;}
public Boolean BoolValue2 {get;set;}
public TimeSpan milliseconds1 {get;set;}
public TimeSpan milliseconds2 {get;set;}
public String StringValue {get;set;}
}
除了创建此类的实例外。我需要创建这个类的marhalled版本的另一个实例。
[StructLayout(LayoutKind.Sequential, Pack = 0)]
public class MarshalledClass
{
public float FloatValue1;
public float FloatValue2;
[MarshalAs(UnmanagedType.I1)]
public Boolean BoolValue1;
[MarshalAs(UnmanagedType.I1)]
public Boolean BoolValue2;
public int milliseconds1;
public int milliseconds2;
[MarshalAs(UnmanagedType.ByValTStr, SizeConst = 256)]
public String StringValue;
}
cource我也不想创建同一个类的两个定义,其中一个是正常的,另一个是编组的。 相反,我想创建普通类,然后在运行时编组一个新对象。这可能吗?