public object GetObjectToSerialize(object obj, Type targetType)
 {
     // This method is called on serialization.
     if (obj is AuthenticationStructure)
     {
         AuthenticationStructure authenticationStructure = (AuthenticationStructure)obj;
         return(new object[] { authenticationStructure.Username, authenticationStructure.Password, authenticationStructure.AppId });
     }
     return(obj);
 }
 public object GetDeserializedObject(object obj, Type targetType)
 {
     // This method is called on deserialization.
     if (obj is object[])
     {
         object[] arr = (object[])obj;
         AuthenticationStructure authenticationStructure = new AuthenticationStructure {
             Username = (string)arr[0], Password = (string)arr[1], AppId = (int)arr[2]
         };
         return(authenticationStructure);
     }
     return(obj);
 }