PreserveAttribute Klasse
Definition
Wichtig
Einige Informationen beziehen sich auf Vorabversionen, die vor dem Release ggf. grundlegend überarbeitet werden. Microsoft übernimmt hinsichtlich der hier bereitgestellten Informationen keine Gewährleistungen, seien sie ausdrücklich oder konkludent.
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. |