PDEPlugInCallbackProtocol Costruttori
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.
Overload
| Nome | Descrizione |
|---|---|
| PDEPlugInCallbackProtocol() |
Crea un nuovo PDEPlugInCallbackProtocol oggetto con valori predefiniti. |
| PDEPlugInCallbackProtocol(NSObjectFlag) |
Costruttore da chiamare sulle classi derivate per ignorare l'inizializzazione e semplicemente allocare l'oggetto. |
| PDEPlugInCallbackProtocol(NativeHandle) |
Costruttore utilizzato durante la creazione di rappresentazioni gestite di oggetti non gestiti. Chiamato dal runtime. |
PDEPlugInCallbackProtocol()
Crea un nuovo PDEPlugInCallbackProtocol oggetto con valori predefiniti.
[Foundation.Export("init")]
[ObjCRuntime.BindingImpl(ObjCRuntime.BindingImplOptions.GeneratedCode | ObjCRuntime.BindingImplOptions.Optimizable)]
protected PDEPlugInCallbackProtocol();
- Attributi
Si applica a
PDEPlugInCallbackProtocol(NSObjectFlag)
Costruttore da chiamare sulle classi derivate per ignorare l'inizializzazione e semplicemente allocare l'oggetto.
[ObjCRuntime.BindingImpl(ObjCRuntime.BindingImplOptions.GeneratedCode | ObjCRuntime.BindingImplOptions.Optimizable)]
protected PDEPlugInCallbackProtocol(Foundation.NSObjectFlag t);
[<ObjCRuntime.BindingImpl(ObjCRuntime.BindingImplOptions.GeneratedCode | ObjCRuntime.BindingImplOptions.Optimizable)>]
new PrintCore.PDEPlugInCallbackProtocol : Foundation.NSObjectFlag -> PrintCore.PDEPlugInCallbackProtocol
Parametri
Valore sentinel inutilizzato, passare NSObjectFlag.Empty.
- Attributi
Commenti
Questo costruttore deve essere chiamato dalle classi derivate quando costruiscono completamente l'oggetto nel codice gestito e vogliono semplicemente che il runtime alloca e inizializzi .NSObject Questa operazione è necessaria per implementare il processo di inizializzazione in due passaggi che Objective-C usa, il primo passaggio consiste nell'eseguire l'allocazione di oggetti, il secondo passaggio consiste nell'inizializzare l'oggetto. Quando gli sviluppatori richiamano questo costruttore, sfruttano un percorso diretto che va fino a NSObject allocare semplicemente la memoria dell'oggetto e associano gli oggetti Objective-C e C#. L'inizializzazione effettiva dell'oggetto spetta allo sviluppatore.
Questo costruttore viene in genere usato dal generatore di associazioni per allocare l'oggetto, ma impedisce l'inizializzazione effettiva. Una volta eseguita l'allocazione, il costruttore deve inizializzare l'oggetto. Con i costruttori generati dal generatore di associazioni questo significa che richiama manualmente uno dei metodi "init" per inizializzare l'oggetto.
È responsabilità dello sviluppatore inizializzare completamente l'oggetto se esegue la concatenamento tramite questa catena di costruttori.
In generale, se il costruttore dello sviluppatore richiama l'implementazione di base corrispondente, deve anche chiamare un metodo init Objective-C. In caso contrario, gli sviluppatori devono invece concatenare il costruttore appropriato nella relativa classe.
Il valore dell'argomento viene ignorato e garantisce semplicemente che l'unico codice eseguito sia la fase di costruzione sia l'allocazione di base NSObject e la registrazione del tipo di runtime. In genere il concatenamento sarà simile al seguente:
//
// The NSObjectFlag constructor merely allocates the object and registers the C# class with the Objective-C runtime if necessary.
// No actual initXxx method is invoked, that is done later in the constructor
//
// This is taken from the iOS SDK's source code for the UIView class:
//
[Export ("initWithFrame:")]
public UIView (CGRect frame) : base (NSObjectFlag.Empty)
{
// Invoke the init method now.
var initWithFrame = new Selector ("initWithFrame:").Handle;
if (IsDirectBinding) {
Handle = ObjCRuntime.Messaging.IntPtr_objc_msgSend_CGRect (this.Handle, initWithFrame, frame);
} else {
Handle = ObjCRuntime.Messaging.IntPtr_objc_msgSendSuper_CGRect (this.SuperHandle, initWithFrame, frame);
}
}
Si applica a
PDEPlugInCallbackProtocol(NativeHandle)
Costruttore utilizzato durante la creazione di rappresentazioni gestite di oggetti non gestiti. Chiamato dal runtime.
[ObjCRuntime.BindingImpl(ObjCRuntime.BindingImplOptions.GeneratedCode | ObjCRuntime.BindingImplOptions.Optimizable)]
protected internal PDEPlugInCallbackProtocol(ObjCRuntime.NativeHandle handle);
[<ObjCRuntime.BindingImpl(ObjCRuntime.BindingImplOptions.GeneratedCode | ObjCRuntime.BindingImplOptions.Optimizable)>]
new PrintCore.PDEPlugInCallbackProtocol : ObjCRuntime.NativeHandle -> PrintCore.PDEPlugInCallbackProtocol
Parametri
- handle
- NativeHandle
Puntatore (handle) all'oggetto non gestito.
- Attributi
Commenti
Questo costruttore viene richiamato dall'infrastruttura di runtime (GetNSObject(IntPtr)) per creare una nuova rappresentazione gestita per un puntatore a un oggetto Objective-C non gestito. Gli sviluppatori non devono richiamare direttamente questo metodo, ma devono chiamare GetNSObject(IntPtr) perché impediranno due istanze di un oggetto gestito che puntano allo stesso oggetto nativo.