Język

PreserveAttribute Klasa

Definicja

Zapobiega łączeniu obiektu docelowego przez konsolidator MonoTouch.

[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
Dziedziczenie
PreserveAttribute
Atrybuty

Uwagi

Ten atrybut jest używany w czasie łączenia przez konsolidator MonoTouch, aby pominąć niektóre klasy, struktury, wyliczenia lub inne obiekty z połączonych.

Zastosowanie tego atrybutu spowoduje, że wszystkie elementy członkowskie obiektu docelowego będą przechowywane tak, jakby odwoływały się do nich kod.

Ten atrybut jest przydatny na przykład w przypadku używania klas korzystających z odbicia (na przykład usług internetowych) i używania tych informacji do serializacji i deserializacji.

Począwszy od monoTouch 6.0.9, ten atrybut może być również używany na poziomie zestawu, skutecznie duplikując to samo zachowanie, jak --linkskip=ASSEMBLY i bez konieczności duplikowania dodatkowego argumentu do każdego projektu.

W rzeczywistości nie trzeba stosować zależności od zestawów Xamarin, na przykład jeśli jesteś deweloperem innej firmy, który tworzy składnik lub pakiet nuget, który jest bezpieczny do połączenia, możesz po prostu dołączyć kod źródłowy atrybutu LinkerSafe w aplikacji, a konsolidator Xamarin go rozpozna.

Aby użyć w zestawie, bez podejmowania zależności w zestawach Xamarin:

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

[assembly:Preserve]

Konstruktory

Nazwisko Opis
PreserveAttribute()

Poinstruuj konsolidator MonoTouch, aby zachował ozdobiony kod

PreserveAttribute(Type)

Inicjuje PreserveAttribute nowe wystąpienie klasy o określonym typie.

Pola

Nazwisko Opis
AllMembers

Gwarantuje, że wszystkie elementy członkowskie tego typu zostaną zachowane.

Conditional

Flaguje metodę jako metodę do zachowania podczas łączenia, jeśli klasa kontenera jest ściągana.

Dotyczy