Partager via


INExtension.GetHandler(INIntent) Méthode

Définition

Les développeurs remplacent cette méthode pour renvoyer l’objet gestionnaire s’il intent en est un auquel leur extension peut répondre.

[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

Paramètres

intent
INIntent

reçu INIntent par le système.

Retours

L’objet de gestionnaire du développeur ou null si intent n’est pas géré par l’extension.

Implémente

Attributs

Remarques

L’objet gestionnaire du développeur doit implémenter l’interface IIN{Intent}Handling appropriée aux types pour INIntent lesquels cette méthode retourne le gestionnaire. Exemple :

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);
    }
}

S’applique à