私はこの次構造体[StructLayout(LayoutKind.Sequential, Pack = 1)]
とKiteClass
とStructA StructB StructC StructD
すべての構造体であるC#構造体のサイズを取得するために整列化されている構造体の内部でDictionaryを宣言するにはどうすればよいですか?
[StructLayout(LayoutKind.Sequential, Pack = 1)]
public struct CombinedDS
{
public HeaderStruct Header;
public StructA a;
public StructB b;
public StructC c;
public StructD d;
public Dictionary<string, KiteClass> KiteObjDict;
}
を持っているが、通常のクラスです。管理されていない構造としてマーシャリングすることはできません タイプ「MyApp.CombinedDS」;:
私はこのArgumentException
を取得しています意味の大きさやオフセットなしは
int varsize = Marshal.SizeOf(typeof(CombinedDS));
を使用して、構造体CombinedDS
のサイズを取得しようとしていたとき、私は、この背後にある理論的な理由を知りたいとも正しい方法論または任意の提案が実現するためにを計算することができません私が望むもの。