INExtension.GetHandler(INIntent) Metodo
Definizione
Importante
Alcune informazioni sono relative alla release non definitiva del prodotto, che potrebbe subire modifiche significative prima della release definitiva. Microsoft non riconosce alcuna garanzia, espressa o implicita, in merito alle informazioni qui fornite.
Gli sviluppatori eseguono l'override di questo metodo per restituire l'oggetto gestore se intent
è una delle relative estensioni può rispondere.
[Foundation.Export("handlerForIntent:")]
[ObjCRuntime.Introduced(ObjCRuntime.PlatformName.iOS, 10, 0, ObjCRuntime.PlatformArchitecture.All, null)]
[ObjCRuntime.Introduced(ObjCRuntime.PlatformName.WatchOS, 3, 2, ObjCRuntime.PlatformArchitecture.All, null)]
[ObjCRuntime.Unavailable(ObjCRuntime.PlatformName.MacOSX, ObjCRuntime.PlatformArchitecture.All, null)]
public virtual Foundation.NSObject GetHandler (Intents.INIntent intent);
abstract member GetHandler : Intents.INIntent -> Foundation.NSObject
override this.GetHandler : Intents.INIntent -> Foundation.NSObject
Parametri
Restituisce
Oggetto gestore dello sviluppatore o null
se intent
non viene gestito dall'estensione.
Implementazioni
- Attributi
Commenti
L'oggetto gestore dello sviluppatore deve implementare l'interfaccia IIN{Intent}Handling
appropriata ai tipi di INIntent cui questo metodo restituisce il gestore. Ad esempio:
class MyExtension : INExtension
{
override public NSObject GetHandler (INIntent intent)
{
if (intent is INSendMessageIntent)
{
return new MySendMessageHandler ();
}
return null;
}
}
class MySendMessageHandler : NSObject, IINSendMessageIntentHandling
{
public void HandleSendMessage (INSendMessageIntent intent, Action<INSendMessageIntentResponse> completion)
{
// ... Send a message here ...
var activity = new NSUserActivity (nameof (INSendMessageIntent));
var response = new INSendMessageIntentResponse (INSendMessageIntentResponseCode.Success, activity);
completion (response);
}
}