XamlMember Klasa

Definicja

Udostępnia identyfikator systemu typu XAML dla elementów członkowskich typów XAML. Identyfikator jest używany przez czytniki XAML i składniki zapisywania XAML podczas przetwarzania węzłów członkowskich (gdy czytnik XAML jest umieszczony na obiekcie StartMember), a także dla ogólnej logiki systemu typów XAML.

public ref class XamlMember : IEquatable<System::Xaml::XamlMember ^>
public class XamlMember : IEquatable<System.Xaml.XamlMember>
type XamlMember = class
    interface IEquatable<XamlMember>
Public Class XamlMember
Implements IEquatable(Of XamlMember)
Dziedziczenie
XamlMember
Pochodne
Implementuje

Uwagi

XamlMember może używać trzech metodologii do zwracania informacji o elemencie członkowskim XAML: odbiciu standardowego środowiska uruchomieniowego języka wspólnego (CLR); technika odbicia tylko do odwołania wywołująca wewnętrzne interfejsy API, które używają zoptymalizowanych flag bitów; lub wywołanie wirtualnych przesłonięć interfejsu Lookup* API udostępnianego przez możliwe XamlMember podklasy. W przypadku większości zastosowań .NET Framework interfejsów API usług XAML i interfejsu XamlMember API należy użyć domyślnego kontekstu schematu XAML. Domyślny kontekst schematu XAML dla usług .NET Framework XAML używa kopii zapasowej CLR dla systemu typów. Dzięki temu czytelnicy XAML i autorzy XAML mogą pracować z dowolnym typem lub elementem członkowskim zdefiniowanym w programie lub w inny sposób dostępnym dla środowiska CLR i jego technikami odbicia.

Interfejsy API wyszukiwania* i klasy pochodne XamlMember

XamlMember definiuje kilka wirtualnych elementów członkowskich, które klasy pochodne mogą zastąpić. Te elementy członkowskie mają nazwy, które zawsze zaczynają się od ciągu Lookup. Pozostała część nazwy interfejsu API odwołuje się do właściwości, która ma wpływ na metodę wirtualną. Na przykład klasa pochodna XamlMember może przesłonić LookupTargetType wpływ na to, co właściwość TargetType zdefiniowana przez bazę zwraca w klasie pochodnej. Możesz przewidzieć wartości zwracane dla takich właściwości w XamlMember klasach pochodnych lub istniejących, czytając dokumentację odpowiednich Lookup* metod.

Lookup* Celem metod jest zapewnienie techniki rozszerzenia systemu typu XAML, która zawiera klasę bazowąXamlMember. Wyprowadzając i XamlMember przesłaniając Lookup wirtualne elementy członkowskie, można zdefiniować koncepcję elementu członkowskiego XAML dla schematu XAML w systemie typów XAML bez powiązania ze specyfikami systemu typu zaplecza lub technologii. Możesz również użyć podanego kontekstu schematu XAML w ramach tego schematu i nadal zwracać żądane wyniki.

Rozważmy na przykład XamlMember właściwość IsWritePublic. Ta właściwość informuje obiekt wywołujący, że operacje, takie jak używanie XamlWriter elementu do serializacji, mogą zapisywać wartość dla tego elementu członkowskiego w obiekcie docelowym. W domyślnej implementacji określenie, czy element członkowski jest zapisywalny, jest używany przy użyciu technik odbicia względem zaplecza CLR Type i jego członków ().MemberInfo W związku z tym system typów XAML domyślnie zależy od systemu typów CLR. Można jednak usunąć tę zależność dla raportowania IsWritePublic systemu typów XAML przez zastąpienie interfejsu API LookupIsWritePublic. W ramach przesłonięcia można użyć innych metod określania, takich jak metadane specyficzne dla twojej technologii, podstawowa tabela odnośników zoptymalizowana pod kątem stałego słownictwa XAML lub różne inne strategie określania, czy element członkowski XAML jest zapisywalny w słowniku XAML.

Konstruowanie elementu XamlMember bez kontekstu schematu XAML

Większość konstruktorów wymaga XamlMemberXamlSchemaContext w ramach ich inicjowania. Jest XamlSchemaContext to również niezbędne w przypadku wielu operacji wewnętrznych XamlSchemaContext , takich jak uzyskiwanie informacji przekazywanych z typu zaplecza. Podczas pracy z interfejsem XamlMember API zazwyczaj masz XamlSchemaContext dostępny element z otaczającej konstrukcji, takiej jak XamlWriter. W takim przypadku można przekazać XamlSchemaContext odwołanie do wszystkich wywołań systemowych typu XAML, które wymagają kontekstu schematu XAML.

Jeden konkretny konstruktor, XamlMember(String, XamlType, Boolean), nie wymaga .XamlSchemaContext Jednak obiektXamlMember, który jest skonstruowany z podpisem XamlMember(String, XamlType, Boolean) zwraca wartość true .IsUnknown

W przypadku ścieżki ładowania obejmującej XamlObjectWriterelement nie można zapisać takiego elementu członkowskiego w grafie obiektu. Przy użyciu implementacji XamlObjectWriter.WriteStartMember usług XAML .NET Framework wywołanie zgłasza wyjątek XamlObjectWriterException , gdy odpowiednie XamlMember raporty true dla elementu IsUnknown.

Nie należy konstruować obiektu XamlMember , którego wartość ma wartość true , IsUnknown chyba że implementacja może obsługiwać wyjątki z XamlObjectWriterklasy lub istnieją inne sposoby dostosowywania XamlObjectWriter zachowania. Na przykład co najmniej jedna z następujących wartości może być prawdziwa w implementacji:

  • Kontekst schematu XAML jest dostępny później.
  • Należy użyć wzorca wywołania elementu członkowskiego.
  • Celowo zastąpisz XamlObjectWriter.WriteStartMember niestandardowy moduł zapisywania XAML.

Konstruktory

XamlMember(EventInfo, XamlSchemaContext)

Inicjuje XamlMember nowe wystąpienie klasy przy użyciu systemu EventInfo typów CLR i klasy XamlSchemaContext.

XamlMember(EventInfo, XamlSchemaContext, XamlMemberInvoker)

Inicjuje XamlMember nowe wystąpienie klasy przy użyciu systemu EventInfo typów CLR i XamlSchemaContext, w tym XamlMemberInvoker informacje.

XamlMember(PropertyInfo, XamlSchemaContext)

Inicjuje XamlMember nowe wystąpienie klasy przy użyciu systemu PropertyInfo typów CLR i klasy XamlSchemaContext.

XamlMember(PropertyInfo, XamlSchemaContext, XamlMemberInvoker)

Inicjuje XamlMember nowe wystąpienie klasy przy użyciu odbicia PropertyInfo i XamlSchemaContext, w tym XamlMemberInvoker informacji.

XamlMember(String, MethodInfo, MethodInfo, XamlSchemaContext)

Inicjuje nowe wystąpienie XamlMember klasy, XamlMember które reprezentuje właściwość dołączalną.

XamlMember(String, MethodInfo, MethodInfo, XamlSchemaContext, XamlMemberInvoker)

Inicjuje XamlMember nowe wystąpienie klasy XamlMember , które reprezentuje właściwość dołączaną, w tym XamlMemberInvoker informacje.

XamlMember(String, MethodInfo, XamlSchemaContext)

Inicjuje XamlMember nowe wystąpienie klasy, XamlMember które reprezentuje zdarzenie dołączalne.

XamlMember(String, MethodInfo, XamlSchemaContext, XamlMemberInvoker)

Inicjuje nowe wystąpienie XamlMember klasy, XamlMember które reprezentuje zdarzenie możliwe do dołączenia, w tym XamlMemberInvoker informacje.

XamlMember(String, XamlType, Boolean)

Inicjuje XamlMember nowe wystąpienie klasy przy użyciu nazwy ciągu i deklarowania XamlType informacji. Obiekt XamlMember , który jest skonstruowany z tym podpisem, ma znaczące ograniczenia.

Właściwości

DeclaringType

Pobiera typ XamlType , który deklaruje element członkowski skojarzony z tym XamlMemberelementem .

DeferringLoader

XamlValueConverter<TConverterBase> Pobiera obiekt, który jest używany do odroczonego ładowania zadeklarowanych obiektów XAML.

DependsOn

Pobiera listę XamlMember obiektów. Te raporty składowe, w których istnieją relacje zależności dla kolejności inicjowania względem tego XamlMemberelementu .

Invoker

Pobiera implementację XamlMemberInvoker skojarzona z tym XamlMemberelementem .

IsAmbient

Pobiera wartość wskazującą, czy jest to XamlMember zgłaszane jako właściwość otoczenia.

IsAttachable

Pobiera wartość wskazującą, czy jest to XamlMember dołączany element członkowski.

IsDirective

Pobiera wartość wskazującą, czy jest to XamlMember dyrektywa XAML.

IsEvent

Pobiera wartość wskazującą, czy reprezentuje element XamlMember członkowski zdarzenia.

IsNameValid

Pobiera wartość wskazującą, czy jest to XamlMember inicjowane przy użyciu prawidłowego xamlName ciągu jako .Name

IsReadOnly

Pobiera wartość wskazującą, czy reprezentuje element XamlMember członkowski tylko do odczytu.

IsReadPublic

Pobiera wartość wskazującą, czy reprezentuje element XamlMember członkowski z wywoływanym publicznym get akcesorem.

IsUnknown

Pobiera wartość wskazującą, czy element członkowski nie jest rozpoznawany przez system tworzenia kopii zapasowych używany do rozpoznawania typów i składowych.

IsWriteOnly

Pobiera wartość wskazującą, czy reprezentuje element XamlMember członkowski tylko do zapisu.

IsWritePublic

Pobiera wartość wskazującą, czy reprezentuje element XamlMember członkowski, który ma wywoływane publiczne set akcesorium.

MarkupExtensionBracketCharacters

Definiuje znaki otwierające i zamykające dla rozszerzenia znaczników.

Name

xamlName Pobiera ciąg nazwy, który deklaruje ten XamlMemberciąg .

PreferredXamlNamespace

Pobiera pojedynczy identyfikator URI przestrzeni nazw XAML, który identyfikuje podstawową przestrzeń nazw XAML dla tego XamlMemberelementu .

SerializationVisibility

Pobiera wartość wskazującą DesignerSerializationVisibility sposób przetwarzania elementu członkowskiego przez projektanta wizualnego.

TargetType

XamlType Pobiera typ, w którym XamlMember może istnieć.

Type

XamlType Pobiera typ używany przez element członkowski.

TypeConverter

XamlValueConverter<TConverterBase> Pobiera obiekt, który może służyć do budowy konwersji typów zadeklarowanych obiektów XAML.

UnderlyingMember

Pobiera system MemberInfo typów CLR, który jest dostępny dla elementu członkowskiego, który jest skonstruowany przez PropertyInfo, MethodInfolub EventInfo.

ValueSerializer

XamlValueConverter<TConverterBase> Pobiera obiekt, który jest używany do serializacji wartości zadeklarowanych obiektów XAML.

Metody

Equals(Object)

Wskazuje, czy bieżący obiekt jest równy innemu obiektowi.

Equals(XamlMember)

Wskazuje, czy bieżący obiekt jest równy innemu obiektowi tego samego typu.

GetHashCode()

Zwraca kod skrótu dla tego obiektu.

GetType()

Type Pobiera bieżące wystąpienie.

(Odziedziczone po Object)
GetXamlNamespaces()

Zwraca listę przestrzeni nazw XAML, w których może istnieć ten element członkowski XAML.

LookupCustomAttributeProvider()

W przypadku implementacji w klasie pochodnej zwraca implementację ICustomAttributeProvider .

LookupDeferringLoader()

XamlValueConverter<TConverterBase> Zwraca obiekt, który jest używany do odroczonego ładowania zadeklarowanych obiektów XAML.

LookupDependsOn()

Zwraca listę XamlMember obiektów. Elementy na liście raportują elementy członkowskie, w których istnieją relacje zależności dla kolejności inicjowania względem tego XamlMemberelementu .

LookupInvoker()

Zwraca element XamlMemberInvoker skojarzony z tym XamlMemberelementem .

LookupIsAmbient()

Zwraca, czy jest to XamlMember zgłaszane jako właściwość otoczenia.

LookupIsEvent()

Zwraca, czy reprezentuje to XamlMember zdarzenie.

LookupIsReadOnly()

Zwraca, czy jest to XamlMember właściwość przeznaczona tylko do odczytu.

LookupIsReadPublic()

Zwraca, czy reprezentuje właściwość XamlMember , która ma dostęp publiczny get .

LookupIsUnknown()

Zwraca, czy reprezentuje element XamlMember członkowski, który nie jest rozpoznawany przez system tworzenia kopii zapasowych używany do rozpoznawania typów i składowych.

LookupIsWriteOnly()

Zwraca, czy reprezentuje element XamlMember członkowski, który ma dostęp publiczny set , ale nie get publiczny dostęp.

LookupIsWritePublic()

Zwraca, czy reprezentuje element XamlMember członkowski, który ma dostęp publiczny set .

LookupMarkupExtensionBracketCharacters()

Zwraca znaki otwierające i zamykające dla rozszerzenia znaczników.

LookupTargetType()

XamlType Zwraca typ, w którym XamlMember może istnieć.

LookupType()

XamlType Zwraca typ używany przez element członkowski.

LookupTypeConverter()

Zwraca implementację konwertera typów, która jest skojarzona z tym XamlMemberelementem .

LookupUnderlyingGetter()

Zwraca metodę get dostępu skojarzona z tym XamlMemberelementem .

LookupUnderlyingMember()

Zwraca system MemberInfo typu CLR skojarzony z tym XamlMemberelementem .

LookupUnderlyingSetter()

Zwraca metodę set dostępu skojarzona z tym XamlMemberelementem .

LookupValueSerializer()

Zwraca implementację serializatora wartości, która jest skojarzona z tym XamlMemberelementem .

MemberwiseClone()

Tworzy płytkią kopię bieżącego Objectelementu .

(Odziedziczone po Object)
ToString()

Zwraca reprezentację ciągu tego XamlMemberelementu .

Operatory

Equality(XamlMember, XamlMember)

Określa, czy dwa określone XamlMember obiekty mają tę samą wartość.

Inequality(XamlMember, XamlMember)

Określa, czy dwa określone XamlMember obiekty mają różne wartości.

Dotyczy

Zobacz też