示例#1
0
 public static void plist_dict_next_item(PlistHandle node, PlistDictIterHandle iter, out string key, out PlistHandle val)
 {
     System.Runtime.InteropServices.ICustomMarshaler keyMarshaler = NativeStringMarshaler.GetInstance(null);
     System.IntPtr keyNative = System.IntPtr.Zero;
     PlistNativeMethods.plist_dict_next_item(node, iter, out keyNative, out val);
     key = ((string)keyMarshaler.MarshalNativeToManaged(keyNative));
     keyMarshaler.CleanUpNativeData(keyNative);
 }
示例#2
0
 /// <summary>
 /// Increment iterator of a #PLIST_DICT node.
 /// </summary>
 /// <param name="node">
 /// The node of type #PLIST_DICT
 /// </param>
 /// <param name="iter">
 /// Iterator of the dictionary
 /// </param>
 /// <param name="key">
 /// Location to store the key, or NULL. The caller is responsible
 /// for freeing the the returned string.
 /// </param>
 /// <param name="val">
 /// Location to store the value, or NULL. The caller must *not*
 /// free the returned value. Will be set to NULL when no more
 /// key/value pairs are left to iterate.
 /// </param>
 public virtual void plist_dict_next_item(PlistHandle node, PlistDictIterHandle iter, out string key, out PlistHandle val)
 {
     PlistNativeMethods.plist_dict_next_item(node, iter, out key, out val);
     val.Api = this.Parent;
 }