private void DefineObjectProperty(string obj_type, string prop_name, int prop_type, bool isAsync, DefineObjectPropertyCallback callback, Object state)
        {
            var parameterList = new Dictionary<string, string> { { "method", "facebook.data.defineObjectProperty" } };
            Utilities.AddRequiredParameter(parameterList, "obj_type", obj_type);
            Utilities.AddRequiredParameter(parameterList, "prop_name", prop_name);
            Utilities.AddRequiredParameter(parameterList, "prop_type", prop_type);

            if (isAsync)
            {
                SendRequestAsync<data_defineObjectProperty_response, bool>(parameterList, new FacebookCallCompleted<bool>(callback), state);
                return;
            }

            SendRequest(parameterList);
        }
 /// <summary>
 /// Add a new object property to an object type.
 /// </summary>
 /// <example>
 /// <code>
 /// 
 /// </code>
 /// </example>
 /// <param name="obj_type">Object type to add a new property to. </param>
 /// <param name="prop_name">Name of the new property to add. This name needs to be a valid identifier, which is no longer than 32 characters, starting with a letter (a-z) and consisting of only small letters (a-z), numbers (0-9) and/or underscores. </param>
 /// <param name="prop_type">Type of the new property: 1 for integer, 2 for string (max. 255 characters), 3 for text blob (max. 64kb)</param>
 /// <param name="callback">The AsyncCallback delegate</param>
 /// <param name="state">An object containing state information for this asynchronous request</param>        
 public void DefineObjectPropertyAsync(string obj_type, string prop_name, int prop_type, DefineObjectPropertyCallback callback, Object state)
 {
     DefineObjectProperty(obj_type, prop_name, prop_type, true, callback, state);
 }