2016-05-02 16 views
0

構造体を別の構造体に渡したいのですが、 "name"という文字列が現在のコンテキストに存在しないため、含まれていません。他の構造体でそれを知らせる方法構造体を別の構造体に渡す方法

public struct iec_unit_id 
    { 
     internal byte iec_unit_id_data1; 
     internal byte iec_unit_id_data2; 

     public byte type_id;   //Type_identification 

     public byte num 
     { 
      get   { return (byte)(iec_unit_id_data1 & 0x7f); } 
      set   { iec_unit_id_data1 = (byte)((iec_unit_id_data1 & ~0x7f) | (value & 0x7f)); } 
     }         //Number of Objects:7; 
     public byte sq 
     { 
      get 
      { return (byte)((iec_unit_id_data1 >> 7) & 0x01); } 
      set 
      { iec_unit_id_data1 = (byte)((iec_unit_id_data1 & ~(0x01 << 7)) | (value & 0x01) << 7); } 
     }         // sequenced/not sequenced address:1; 

     public byte cause 
     { 
      get   { return (byte)(iec_unit_id_data2 & 0x3f); } 
      set   { iec_unit_id_data2 = (byte)((iec_unit_id_data2 & ~0x3f) | (value & 0x3f)); } 
     }        //cause of transmission:6; 
     public byte pn 
     { 
      get   { return (byte)((iec_unit_id_data2 >> 6) & 0x01); } 
      set   { iec_unit_id_data2 = (byte)((iec_unit_id_data2 & ~(0x01 << 6)) | (value & 0x01) << 6); } 
     }        // pn:1; positive=1 negative=0 
     public byte t 
     { 
      get   { return (byte)((iec_unit_id_data2 >> 7) & 0x01); } 
      set   { iec_unit_id_data2 = (byte)((iec_unit_id_data2 & ~(0x01 << 7)) | (value & 0x01) << 7); } 
     }        // test : 1; 


     public byte oa;    //Originator Adress 
     public ushort ca;   // ASDU Common Adress 
    } 

    public struct iec_apdu 
    { 
     byte start; 
     byte length; 
     byte NS; 
     byte NR; 
     struct iec_unit_id asdu ; 
    } 

struct変数の名前はasduです。

+1

のtry変更 "構造体iec_unit_id ASDU;" 〜 "iec_unit_id asdu;" – Henningsson

+0

あなたが何を求めているかは全く分かりません。あなたが何をしようとしているのか分かりません。あなたは構造体に何を渡したいのですか? – ckruczek

+0

変更可能な構造体に気を付けると、予期しない結果が生じる可能性があります。 http://stackoverflow.com/questions/441309/why-are-mutable-structs-evilを参照してください。 –

答えて

4

は、structキーワードを削除するなどの通常の変数と同じように使用:

public struct iec_apdu 
{ 
    iec_unit_id asdu; 
} 
関連する問題