static private void CreateAndAddNewDIF(FunctionFields FunctionField, string FunctionFieldDescription,
                                        DataFields DataField, string DataFieldDescription, int DataFieldLegth)
 {
     new MBUSApplicationLayerDIF(false, false, FunctionField, FunctionFieldDescription,
                                 DataField, DataFieldDescription, DataFieldLegth);
     new MBUSApplicationLayerDIF(false, true, FunctionField, FunctionFieldDescription,
                                 DataField, DataFieldDescription, DataFieldLegth);
     new MBUSApplicationLayerDIF(true, false, FunctionField, FunctionFieldDescription,
                                 DataField, DataFieldDescription, DataFieldLegth);
     new MBUSApplicationLayerDIF(true, true, FunctionField, FunctionFieldDescription,
                                 DataField, DataFieldDescription, DataFieldLegth);
 }
 private MBUSApplicationLayerDIF(bool Extension, bool LSB,
                                 FunctionFields FunctionField, string FunctionFieldDescription,
                                 DataFields DataField, string DataFieldDescription, int DataFieldLegth)
 {
     code = (byte)((byte)FunctionField * 16 + (byte)DataField);
     if (Extension)
     {
         code = (byte)(code + 128);
     }
     if (LSB)
     {
         code = (byte)(code + 64);
     }
     extension                = Extension;
     lsb                      = LSB;
     functionField            = FunctionField;
     functionFieldDescription = FunctionFieldDescription;
     dataField                = DataField;
     description              = DataFieldDescription;
     dataFieldLegth           = DataFieldLegth;
     dif_list.Add(code, this);
 }