PDEPlugIn Konstruktory
Definice
Důležité
Některé informace platí pro předběžně vydaný produkt, který se může zásadně změnit, než ho výrobce nebo autor vydá. Microsoft neposkytuje žádné záruky, výslovné ani předpokládané, týkající se zde uváděných informací.
Přetížení
| Name | Description |
|---|---|
| PDEPlugIn() |
Vytvoří nový PDEPlugIn s výchozími hodnotami. |
| PDEPlugIn(NSObjectFlag) |
Konstruktor, který volá odvozené třídy, aby přeskočí inicializaci a pouze přidělil objekt. |
| PDEPlugIn(NativeHandle) |
Konstruktor použitý při vytváření spravovaných reprezentací nespravovaných objektů. Volal modul runtime. |
PDEPlugIn()
Vytvoří nový PDEPlugIn s výchozími hodnotami.
[Foundation.Export("init")]
[ObjCRuntime.BindingImpl(ObjCRuntime.BindingImplOptions.GeneratedCode | ObjCRuntime.BindingImplOptions.Optimizable)]
protected PDEPlugIn();
- Atributy
Platí pro
PDEPlugIn(NSObjectFlag)
Konstruktor, který volá odvozené třídy, aby přeskočí inicializaci a pouze přidělil objekt.
[ObjCRuntime.BindingImpl(ObjCRuntime.BindingImplOptions.GeneratedCode | ObjCRuntime.BindingImplOptions.Optimizable)]
protected PDEPlugIn(Foundation.NSObjectFlag t);
[<ObjCRuntime.BindingImpl(ObjCRuntime.BindingImplOptions.GeneratedCode | ObjCRuntime.BindingImplOptions.Optimizable)>]
new PrintCore.PDEPlugIn : Foundation.NSObjectFlag -> PrintCore.PDEPlugIn
Parametry
Nepoužitá hodnota sentinelu, předejte NSObjectFlag.Empty.
- Atributy
Poznámky
Tento konstruktor by měl být volána odvozenými třídami, když zcela vytvoří objekt ve spravovaném kódu a pouze chce modul runtime přidělit a inicializovat NSObject. To je nutné k implementaci dvoustupňového procesu inicializace, který Objective-C používá, prvním krokem je provedení přidělení objektu, druhým krokem je inicializace objektu. Když vývojáři vyvolá tento konstruktor, využívají přímou cestu, která vede až NSObject k pouhému přidělení paměti objektu a vytvoření vazby Objective-C a objektů jazyka C#. Skutečná inicializace objektu je na vývojáři.
Tento konstruktor obvykle používá generátor vazby k přidělení objektu, ale zabránit skutečné inicializaci provést. Po dokončení přidělení musí konstruktor inicializovat objekt. S konstruktory vygenerovaným generátorem vazeb to znamená, že ručně vyvolá jednu z "init" metod inicializace objektu.
Je zodpovědností vývojáře, aby objekt zcela inicializoval, pokud zřetězený pomocí tohoto řetězce konstruktoru.
Obecně platí, že pokud vývojářský konstruktor vyvolá odpovídající základní implementaci, měl by také volat Objective-C inicializační metoda. Pokud tomu tak není, vývojáři by měli místo toho zřetězovat správný konstruktor ve své třídě.
Hodnota argumentu je ignorována a pouze zajišťuje, že jediný kód, který je proveden, je fáze konstrukce je základní NSObject přidělení a registrace typu modulu runtime. Řetězení obvykle vypadá takto:
//
// 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);
}
}
Platí pro
PDEPlugIn(NativeHandle)
Konstruktor použitý při vytváření spravovaných reprezentací nespravovaných objektů. Volal modul runtime.
[ObjCRuntime.BindingImpl(ObjCRuntime.BindingImplOptions.GeneratedCode | ObjCRuntime.BindingImplOptions.Optimizable)]
protected internal PDEPlugIn(ObjCRuntime.NativeHandle handle);
[<ObjCRuntime.BindingImpl(ObjCRuntime.BindingImplOptions.GeneratedCode | ObjCRuntime.BindingImplOptions.Optimizable)>]
new PrintCore.PDEPlugIn : ObjCRuntime.NativeHandle -> PrintCore.PDEPlugIn
Parametry
- handle
- NativeHandle
Ukazatel (popisovač) na nespravovaný objekt.
- Atributy
Poznámky
Tento konstruktor je vyvolán infrastrukturou modulu runtime (GetNSObject(IntPtr)) k vytvoření nové spravované reprezentace pro ukazatel na nespravovaný objekt Objective-C. Vývojáři by neměli tuto metodu vyvolat přímo, místo toho by měli volat GetNSObject(IntPtr) , protože zabrání dvěma instancím spravovaného objektu odkazujícího na stejný nativní objekt.