Sprache

PreserveAttribute Klasse

Definition

Verhindert, dass der MonoTouch-Linker das Ziel verknüpft.

[System.AttributeUsage(System.AttributeTargets.Assembly | System.AttributeTargets.Class | System.AttributeTargets.Constructor | System.AttributeTargets.Delegate | System.AttributeTargets.Enum | System.AttributeTargets.Event | System.AttributeTargets.Field | System.AttributeTargets.Interface | System.AttributeTargets.Method | System.AttributeTargets.Property | System.AttributeTargets.Struct, AllowMultiple=true)]
public sealed class PreserveAttribute : Attribute
[<System.AttributeUsage(System.AttributeTargets.Assembly | System.AttributeTargets.Class | System.AttributeTargets.Constructor | System.AttributeTargets.Delegate | System.AttributeTargets.Enum | System.AttributeTargets.Event | System.AttributeTargets.Field | System.AttributeTargets.Interface | System.AttributeTargets.Method | System.AttributeTargets.Property | System.AttributeTargets.Struct, AllowMultiple=true)>]
type PreserveAttribute = class
    inherit Attribute
Vererbung
PreserveAttribute
Attribute

Hinweise

Dieses Attribut wird zur Verknüpfungszeit vom MonoTouch-Linker verwendet, um bestimmte Klassen, Strukturen, Enumerationen oder andere Objekte zu überspringen, die verknüpft werden.

Durch Anwenden dieses Attributs werden alle Member des Ziels so beibehalten, als ob sie vom Code referenziert wurden.

Dieses Attribut ist z. B. nützlich, wenn Klassen verwendet werden, die Spiegelung (z. B. Webdienste) verwenden und diese Informationen für serialisierung und Deserialisierung verwenden.

Ab MonoTouch 6.0.9 kann dieses Attribut auch auf Assemblyebene verwendet werden, wobei das gleiche Verhalten effektiv dupliziert wird, aber --linkskip=ASSEMBLY ohne dass das zusätzliche Argument für jedes Projekt dupliziert werden muss.

Sie müssen nicht wirklich eine Abhängigkeit von den Xamarin-Assemblys verwenden, z. B. wenn Sie ein Drittanbieterentwickler sind, der eine Komponente oder ein Nuget-Paket erstellt, das sicher verknüpft werden kann, können Sie einfach den LinkerSafe-Attributquellcode in Ihre Anwendung einschließen, und der Xamarin Linker erkennt es.

So verwenden Sie eine Assembly, ohne eine Abhängigkeit in den Assemblys Xamarin zu verwenden:

[System.AttributeUsage(System.AttributeTargets.All)]
class PreserveAttribute : System.Attribute {
    public PreserveAttribute () {}
    public bool Conditional { get; set; }
}

[assembly:Preserve]

Konstruktoren

Name Beschreibung
PreserveAttribute()

Weisen Sie den MonoTouch-Linker an, den dekorierten Code beizubehalten.

PreserveAttribute(Type)

Initialisiert eine neue Instanz der PreserveAttribute Klasse mit dem angegebenen Typ.

Felder

Name Beschreibung
AllMembers

Stellt sicher, dass alle Member dieses Typs beibehalten werden.

Conditional

Flags the method as a method to preserve during linking if the container class is pulled in.

Gilt für: