static NSArray Validate(params INativeObject [] keysToFetch) { if (nsobject == IntPtr.Zero) { nsobject = Protocol.objc_getProtocol("NSObject"); } if (nssecurecoding == IntPtr.Zero) { nssecurecoding = Protocol.objc_getProtocol("NSSecureCoding"); } if (nscopying == IntPtr.Zero) { nscopying = Protocol.objc_getProtocol("NSCopying"); } foreach (var key in keysToFetch) { var h = key.Handle; if (!ConformsToProtocol(h, nsobject) || !ConformsToProtocol(h, nssecurecoding) || !ConformsToProtocol(h, nscopying)) { throw new InvalidOperationException("Keys do not conform to ICNKeyDescriptor"); } } return(NSArray.FromNativeObjects(keysToFetch)); }
public MCSession(MCPeerID myPeerID, SecIdentity identity, SecCertificate[] certificates, MCEncryptionPreference encryptionPreference) : base(NSObjectFlag.Empty) { if (identity == null) { if (certificates == null) { Handle = Init(myPeerID, null, encryptionPreference); } else { throw new ArgumentNullException("identity"); } } else { using (var certs = NSArray.FromNativeObjects(certificates)) Handle = Init(myPeerID, certs, encryptionPreference); } }
public CNContactFetchRequest(params ICNKeyDescriptor [] keysToFetch) : this(NSArray.FromNativeObjects(keysToFetch)) { }