Język

BindAsAttribute Klasa

Definicja

Atrybut BindAsAttribute umożliwia tworzenie powiązań natywnych typów NSNumber, NSValue i NSString (w przypadku wyliczenia) w bardziej dokładne typy zarządzane.

[System.AttributeUsage(System.AttributeTargets.Parameter | System.AttributeTargets.Property | System.AttributeTargets.ReturnValue, AllowMultiple=false)]
public class BindAsAttribute : Attribute
[<System.AttributeUsage(System.AttributeTargets.Parameter | System.AttributeTargets.Property | System.AttributeTargets.ReturnValue, AllowMultiple=false)>]
type BindAsAttribute = class
    inherit Attribute
Dziedziczenie
BindAsAttribute
Atrybuty

Uwagi

Ten atrybut jest zwykle używany w projektach powiązań, aby wskazać specjalne mapowanie między Objective-C a typami zarządzanymi:

// NSValue <-> CGRect (for the 'rect' parameter)
// NSNumber <-> bool? (for the return value)
[return: BindAs (typeof (bool?))]
[Export ("shouldDrawAt:")]
NSNumber ShouldDraw ([BindAs (typeof (CGRect))] NSValue rect);

// NSString <-> CAScroll
[BindAs (typeof (CAScroll []))]
[Export ("supportedScrollModes")]
NSString [] SupportedScrollModes { get; set; }

W tym przykładzie rect parametr zostanie powiązany jako zarządzany CGRect, a wartość zwracana zostanie powiązana jako bool?.

W definicjach powiązań protokołu i modelu ten atrybut jest obsługiwany w parametrach, ale nie we właściwościach lub zwracanych wartościach.

Obsługiwane kombinacje:
Między NSNumber i bool, byte, sbyte, short, ushort, int, uint, long, ulong, nint, nuint, float, double, nfloat, any of the previous as a nullable type, or as an array
Między NSValue i NSRange, CGAffineTransform, CGPoint, CGRect, CGSize, CGVector, NSDirectionalEdgeInsets, CATransform3d, CLLocationCoordinate2d, CMTime, CMTimeMapping, CMTimeRange, MKCoordinateSpan, SCNMatrix4, SCNVector3, SCNVector4, UIEdgeInsets, UIOffset, dowolny z poprzednich jako typ dopuszczający wartość null lub jako tablica.
Między wyliczeniami opartymi na ciągach NSString i odpowiadającymi im zarządzanymi wyliczeniami.

Konstruktory

Nazwisko Opis
BindAsAttribute(Type)

Inicjuje nowy atrybut BindAs z określonym typem zarządzanym.

Pola

Nazwisko Opis
OriginalType

Typ Objective-C.

Type

Typ zarządzany.

Dotyczy