我有「錯誤地對齊或重疊非對象字段」錯誤與下面的代碼。C#中的聯合字符串錯誤對齊
public struct TypeA
{
public string A1;
public string A2;
}
public struct TypeB
{
public string B1,
public string B2;
}
我實現工會使用System.Runtime.InteropServices與LayoutKind.Explicit
[StructLayout(LayoutKind.Explicit)]
public struct TypeAorB
{
[FieldOffset(0)]
public TypeA aa;
[FieldOffset(0)]
public TypeB bb;
}
我認爲這個問題在結構來自字符串。我如何克服這個問題?
我認爲託管(非標量)類型的別名可能不被允許。 –
你想通過這樣做來達到什麼目的? –
謝謝你們,我想要做的是實現維護超級* struct *包含多個* struct *(s)。它試圖從C代碼中實現* union *。現在我明白*引用類型*不能重疊。 – sMah