C#结构体带非构造函数的初始化?
有一段vb.net代码
<StructLayout(LayoutKind.Sequential)> Private Structure stMemoryInit_t
Public addr As UInteger
Public data As UInteger
Public format As UInteger
Public Sub New(ByVal Addrt As UInteger, ByVal Datat As UInteger, ByVal Formatt As UInteger)
addr = Addrt
data = Datat
format = Formatt
End Sub
End Structure
Private ddrMx25() As stMemoryInit_t = _
{New stMemoryInit_t(&HB8002050UI, &HDCF6, 32), _
New stMemoryInit_t(&HB8002054UI, &H444A4541, 32), _
New stMemoryInit_t(&H80000000UI, &HDEADBEEFUI, 32)}
翻译成C#代码出现问题
声明没有问题:
[StructLayout(LayoutKind.Sequential)]
struct stMemoryInit_t
{
public uint addr = 0;
public uint data = 0;
public uint format = 0;
public void New(uint Addrt, uint Datat, uint Formatt)
{
addr = Addrt;
data = Datat;
format = Formatt;
}
};
初始化出现错误
private stMemoryInit_t[] ddrMx25 = new stMemoryInit_t[]
{
New stMemoryInit_t(0xB8002050, 0xDCF6, 32),
New stMemoryInit_t(0xB8002054, 0x444A4541, 32),
New stMemoryInit_t(0x80000000, 0xDEADBEEF, 32)}