다음을 통해 공유


MDLUrlTexture 생성자

정의

오버로드

MDLUrlTexture(NSObjectFlag)

초기화를 건너뛰고 개체만 할당하기 위해 파생 클래스에서 를 호출하는 생성자입니다.

MDLUrlTexture(IntPtr)

관리되지 않는 개체의 관리되는 표현을 만들 때 사용되는 생성자입니다. 런타임에서 호출합니다.

MDLUrlTexture(NSUrl, String)

지정된 URL과 이름을 사용하여 새 MDLUrlTexture를 만듭니다.

MDLUrlTexture(NSData, Boolean, String, Vector2i, nint, nuint, MDLTextureChannelEncoding, Boolean)

MDLUrlTexture(NSObjectFlag)

초기화를 건너뛰고 개체만 할당하기 위해 파생 클래스에서 를 호출하는 생성자입니다.

protected MDLUrlTexture (Foundation.NSObjectFlag t);
new ModelIO.MDLUrlTexture : Foundation.NSObjectFlag -> ModelIO.MDLUrlTexture

매개 변수

t
NSObjectFlag

사용되지 않는 sentinel 값은 NSObjectFlag.Empty를 전달합니다.

설명

이 생성자는 관리 코드에서 개체를 완전히 구성하고 런타임에서 NSObject를 할당하고 초기화하려고 할 때 파생 클래스에서 호출해야 합니다. Objective-C에서 사용하는 2단계 초기화 프로세스를 구현하는 데 필요하며, 첫 번째 단계는 개체 할당을 수행하는 것이며, 두 번째 단계는 개체를 초기화하는 것입니다. 개발자가 NSObjectFlag.Empty를 사용하는 생성자를 호출할 때 NSObject까지의 직접 경로를 활용하여 개체의 메모리를 할당하고 Objective-C 및 C# 개체를 함께 바인딩할 뿐입니다. 개체의 실제 초기화는 개발자에게 달려 있습니다.

이 생성자는 일반적으로 바인딩 생성기에서 개체를 할당하는 데 사용되지만 실제 초기화가 수행되지 않도록 합니다. 할당이 수행되면 생성자는 개체를 초기화해야 합니다. 바인딩 생성기에서 생성된 생성자를 사용하면 "init" 메서드 중 하나를 수동으로 호출하여 개체를 초기화합니다.

NSObjectFlag.Empty 경로를 사용하여 연결된 경우 개체를 완전히 초기화하는 것은 개발자의 책임입니다.

일반적으로 개발자의 생성자가 NSObjectFlag.Empty 기본 구현을 호출하는 경우 Objective-C init 메서드를 호출해야 합니다. 그렇지 않은 경우 개발자는 대신 클래스의 적절한 생성자에 연결해야 합니다.

인수 값은 무시되며 단지 실행되는 유일한 코드가 기본 NSObject 할당 및 런타임 형식 등록임을 확인합니다. 일반적으로 체인은 다음과 같습니다.

//
// The NSObjectFlag merely allocates the object and registers the
// C# class with the Objective-C runtime if necessary, but no actual
// initXxx method is invoked, that is done later in the constructor
//
// This is taken from Xamarin.iOS's source code:
//
[Export ("initWithFrame:")]
public UIView (System.Drawing.RectangleF 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);
}

적용 대상

MDLUrlTexture(IntPtr)

관리되지 않는 개체의 관리되는 표현을 만들 때 사용되는 생성자입니다. 런타임에서 호출합니다.

protected internal MDLUrlTexture (IntPtr handle);
new ModelIO.MDLUrlTexture : nativeint -> ModelIO.MDLUrlTexture

매개 변수

handle
IntPtr

nativeint

관리되지 않는 개체에 대한 포인터(핸들)입니다.

설명

이 생성자는 런타임 인프라(GetNSObject(IntPtr))에서 호출되어 관리되지 않는 Objective-C 개체에 대한 포인터에 대한 새 관리형 표현을 만듭니다. 개발자는 이 메서드를 직접 호출하면 안 됩니다. 대신 GetNSObject 메서드를 호출하면 관리되는 개체의 두 인스턴스가 동일한 네이티브 개체를 가리키지 못하게 됩니다.

적용 대상

MDLUrlTexture(NSUrl, String)

지정된 URL과 이름을 사용하여 새 MDLUrlTexture를 만듭니다.

[Foundation.Export("initWithURL:name:")]
public MDLUrlTexture (Foundation.NSUrl url, string name);
new ModelIO.MDLUrlTexture : Foundation.NSUrl * string -> ModelIO.MDLUrlTexture

매개 변수

url
NSUrl
name
String

추가될 예정입니다.

이 매개 변수는 null일 수 있습니다.

특성

적용 대상

MDLUrlTexture(NSData, Boolean, String, Vector2i, nint, nuint, MDLTextureChannelEncoding, Boolean)

[Foundation.Export("initWithData:topLeftOrigin:name:dimensions:rowStride:channelCount:channelEncoding:isCube:")]
public MDLUrlTexture (Foundation.NSData pixelData, bool topLeftOrigin, string name, OpenTK.Vector2i dimensions, nint rowStride, nuint channelCount, ModelIO.MDLTextureChannelEncoding channelEncoding, bool isCube);
new ModelIO.MDLUrlTexture : Foundation.NSData * bool * string * OpenTK.Vector2i * nint * nuint * ModelIO.MDLTextureChannelEncoding * bool -> ModelIO.MDLUrlTexture

매개 변수

pixelData
NSData

추가될 예정입니다.

이 매개 변수는 null일 수 있습니다.

topLeftOrigin
Boolean
name
String

추가될 예정입니다.

이 매개 변수는 null일 수 있습니다.

dimensions
Vector2i
rowStride
System.System.IntPtr System.nativeint
channelCount
System.System.UIntPtr System.unativeint
channelEncoding
MDLTextureChannelEncoding
isCube
Boolean
특성

적용 대상