MonoMacのドキュメントによると、署名NSWorkspace.RecycleUrls
は次のとおりです。
[MonoMac.Foundation.Export("recycleURLs:completionHandler:")]
public virtual void RecycleUrls (MonoMac.Foundation.NSDictionary urls, NSWorkspaceUrlHandler completionHandler)
の署名に関するAppleのドキュメントにNSWorkspace
よると、次のrecycleURLs:completionHandler
とおりです。
- (void)recycleURLs:(NSArray *)URLs completionHandler:(void (^)(NSDictionary *newURLs, NSError *error))handler
リサイクルしたいURLの配列があります。
ここで私は困惑しています-Appleのドキュメントには、最初のパラメータはですがNSArray
、MonoMacは。を望んでいると書かれていますNSDictionary
。NSDictionary
必要なキーと値を作成するためのすべての関数(当然のことながら)が、私は値しか持っていません。
MonoMacの実装RecycleUrls
(以下に再現)を取得し、それを使用するように書き直す以外に行うべきことはありNSArray
ますか?
[Export("recycleURLs:completionHandler:")]
public unsafe virtual void RecycleUrls(NSDictionary urls, NSWorkspaceUrlHandler completionHandler)
{
if (urls == null)
{
throw new ArgumentNullException("urls");
}
if (completionHandler == null)
{
throw new ArgumentNullException("completionHandler");
}
BlockLiteral blockLiteral = default(BlockLiteral);
blockLiteral.SetupBlock(NSWorkspace.static_InnerNSWorkspaceUrlHandler, completionHandler);
if (this.IsDirectBinding)
{
Messaging.void_objc_msgSend_IntPtr_IntPtr(base.Handle, NSWorkspace.selRecycleURLsCompletionHandler_, urls.Handle, (IntPtr)((void*)(&blockLiteral)));
}
else
{
Messaging.void_objc_msgSendSuper_IntPtr_IntPtr(base.SuperHandle, NSWorkspace.selRecycleURLsCompletionHandler_, urls.Handle, (IntPtr)((void*)(&blockLiteral)));
}
blockLiteral.CleanupBlock();
}