0

Lumenera CCD と通信できるように、C# で以下の構造を作成しようとしています。以下のコードは、c++ ヘッダー ファイルから取得したものです。主な問題は、無名共用体とネストされた構造体部分です。どんな助けでも大歓迎です。同等の例は素晴らしいでしょう。

typedef struct {
        FLOAT exposure;        
        FLOAT gain;            
        union {
         struct {
          FLOAT gainRed;     
          FLOAT gainBlue;     
          FLOAT gainGrn1;     
          FLOAT gainGrn2;     
         };
         struct {
          FLOAT gainMag;     
          FLOAT gainCyan;     
          FLOAT gainYel1;     
          FLOAT gainYel2;    
         };
        };
      union
      {
           BOOL useStrobe;        
         ULONG strobeFlags;   
      };

} LUCAM_SNAPSHOT;
4

1 に答える 1

1
[StructLayout(LayoutKind.Explicit)] 
public struct LUCAM_SNAPSHOT
{
    [FieldOffset(0)] public float exposure;
    [FieldOffset(4)] public float gain;
    [FieldOffset(8)] public float gainRed;
    [FieldOffset(8)] public float gainGrn1;
    [FieldOffset(8)] public float gainGrn2;
    [FieldOffset(12)] public float gainMag;
    [FieldOffset(12)] public float gainGrn1;
    [FieldOffset(12)] public float gainGrn2;
    [FieldOffset(12)] public float gainMag;
    [FieldOffset(16)] public byte useStrobe;
    [FieldOffset(16)] public int strobeFlags;
}

上記のようなものかもしれないと思います。私はそれを試していませんが、少なくともあなたには出発点があります。

于 2013-02-04T12:28:51.273 に答える