Inheritance: DatumType
 private void SetEditStates(int idx)
 {
     switch (idx)
     {
         case (int) Datum.DatumTypes.BINARY:
             DatumType = new binary();
             break;
         case (int) Datum.DatumTypes.BOOL:
             DatumType = new boolean();
             break;
         case (int) Datum.DatumTypes.COMPLEX:
             DatumType = new complex();
             break;
         case (int) Datum.DatumTypes.DATETIME:
             DatumType = new dateTime();
             break;
         case (int) Datum.DatumTypes.DOUBLE:
             DatumType = new @double();
             break;
         case (int) Datum.DatumTypes.HEX:
             DatumType = new hexadecimal();
             break;
         case (int) Datum.DatumTypes.INT:
             DatumType = new integer();
             break;
         case (int) Datum.DatumTypes.LONG:
             DatumType = new @long();
             break;
         case (int) Datum.DatumTypes.OCT:
             DatumType = new octal();
             break;
         case (int) Datum.DatumTypes.STRING:
             DatumType = new @string();
             break;
         case (int) Datum.DatumTypes.UINT:
             DatumType = new unsignedInteger();
             break;
         case (int) Datum.DatumTypes.ULONG:
             DatumType = new unsignedLong();
             break;
     }
 }
 public static bool LoadFromFile(string fileName, out complex obj)
 {
     System.Exception exception;
     return LoadFromFile(fileName, out obj, out exception);
 }
 public static bool Deserialize(string input, out complex obj)
 {
     System.Exception exception;
     return Deserialize(input, out obj, out exception);
 }
 /// <summary>
 /// Deserializes xml markup from file into an complex object
 /// </summary>
 /// <param name="fileName">string xml file to load and deserialize</param>
 /// <param name="obj">Output complex object</param>
 /// <param name="exception">output Exception value if deserialize failed</param>
 /// <returns>true if this Serializer can deserialize the object; otherwise, false</returns>
 public static bool LoadFromFile(string fileName, out complex obj, out System.Exception exception)
 {
     exception = null;
     obj = default(complex);
     try
     {
         obj = LoadFromFile(fileName);
         return true;
     }
     catch (System.Exception ex)
     {
         exception = ex;
         return false;
     }
 }
 /// <summary>
 /// Deserializes workflow markup into an complex object
 /// </summary>
 /// <param name="input">string workflow markup to deserialize</param>
 /// <param name="obj">Output complex object</param>
 /// <param name="exception">output Exception value if deserialize failed</param>
 /// <returns>true if this Serializer can deserialize the object; otherwise, false</returns>
 public static bool Deserialize(string input, out complex obj, out System.Exception exception)
 {
     exception = null;
     obj = default(complex);
     try
     {
         obj = Deserialize(input);
         return true;
     }
     catch (System.Exception ex)
     {
         exception = ex;
         return false;
     }
 }