XamlMember クラス
定義
重要
一部の情報は、リリース前に大きく変更される可能性があるプレリリースされた製品に関するものです。 Microsoft は、ここに記載されている情報について、明示または黙示を問わず、一切保証しません。
XAML 型のメンバーの XAML 型システム識別子を提供します。 識別子は、メンバー ノードの処理時 (XAML リーダーの位置が StartMember のとき) および一般的な XAML 型システムのロジックに、XAML リーダーおよび 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)
- 継承
-
XamlMember
- 派生
- 実装
注釈
XamlMemberXAML メンバーに関する情報を返すには、標準共通言語ランタイム (CLR) リフレクションという 3 つの方法を使用できます。最適化されたビット フラグを使用する内部 API を呼び出す参照専用リフレクション手法。可能なXamlMemberサブクラスによって提供される API のLookup*
仮想オーバーライドを呼び出す。 .NET FRAMEWORK XAML サービス API と XamlMember API のほとんどの用途では、既定の XAML スキーマ コンテキストを使用します。 .NET Framework XAML サービスの既定の XAML スキーマ コンテキストでは、型システムに CLR バッキングが使用されます。 これにより、XAML リーダーと XAML ライターは、CLR とそのリフレクション手法で定義されている、またはその他の方法で使用できる任意の型またはメンバーを操作できます。
Lookup* API と XamlMember 派生クラス
XamlMember は、派生クラスがオーバーライドする可能性がある複数の仮想メンバーを定義します。 これらのメンバーには、常に文字列 Lookup
で始まる名前があります。 その後、API 名の残りの部分は、仮想メソッドが影響を与えるプロパティを参照します。 たとえば、派生クラスを XamlMember オーバーライド LookupTargetType して、派生クラスで基本定義プロパティが返す内容 TargetType に影響を与える場合があります。 関連Lookup*
するメソッドのドキュメントを参照して、派生クラスまたは既存の派生クラスでXamlMemberこのようなプロパティの戻り値を予測できます。
メソッドの Lookup*
目的は、基底クラスを組み込んだ XAML 型のシステム拡張手法を XamlMember 提供することです。 仮想メンバーから XamlMember 派生してオーバーライド Lookup
することで、バッキング型システムまたはテクノロジの詳細に関連付けることなく、XAML 型システムの XAML スキーマの XAML メンバーの概念を定義できます。 また、このスキームで指定された XAML スキーマ コンテキストを使用して、必要な結果を返すこともできます。
たとえば、 プロパティIsWritePublicをXamlMember考えてみましょう。 このプロパティは、シリアル化に を使用 XamlWriter するなどの操作で、ターゲット オブジェクトにこのメンバーの値を書き込むことができることを呼び出し元に通知します。 既定の実装では、バッキング CLR Type とそのメンバー ( MemberInfo) に対するリフレクション手法を使用して、メンバーが書き込み可能かどうかを判断します。 したがって、既定では、XAML 型システムは CLR 型システムに依存します。 ただし、 API LookupIsWritePublicをオーバーライドすることで、 の XAML 型システム レポートにIsWritePublic対するこの依存関係を削除できます。 オーバーライド内では、テクノロジに固有のメタデータ、固定 XAML ボキャブラリ用に最適化されたプライマリ参照テーブル、XAML メンバーが XAML ボキャブラリに書き込み可能かどうかを判断するためのその他のさまざまな戦略など、他の決定を使用できます。
XAML スキーマ コンテキストを使用しない XamlMember の構築
の XamlMember ほとんどのコンストラクターでは、初期化の一部として が XamlSchemaContext 必要です。 XamlSchemaContextは、バッキング型から転送される情報の取得など、多くの内部XamlSchemaContext操作にも必要です。 API を XamlMember 使用している場合は、通常、 などの周囲の XamlSchemaContext コンストラクトから使用できる があります XamlWriter。 この場合、XAML スキーマ コンテキストを XamlSchemaContext 必要とするすべての XAML 型システム呼び出しに参照を渡すことができます。
1 つの特定のコンストラクター XamlMember(String, XamlType, Boolean)である は、 を XamlSchemaContext必要としません。 ただし、シグネチャをXamlMember使用して構築された はXamlMember(String, XamlType, Boolean)、 に対IsUnknownして を返しますtrue
。
を含む読み込みパスの XamlObjectWriter場合、このようなメンバーをオブジェクト グラフに書き込むことはできません。 .NET Framework XAML サービスの実装をXamlObjectWriter.WriteStartMember使用して、関連XamlMemberする が のレポートtrue
IsUnknownを受け取ると、 が呼び出され、 がスローXamlObjectWriterExceptionされます。
の例外XamlObjectWriterを実装で処理できる場合、または動作を調整する他の方法がない限り、 のIsUnknowntrue
値を持つ をXamlObjectWriter構築XamlMemberしないでください。 たとえば、次の 1 つ以上が実装に当てはまる場合があります。
- XAML スキーマ コンテキストは、後で使用できます。
- メンバー呼び出しパターンを使用します。
- カスタム XAML ライターで意図的にオーバーライド XamlObjectWriter.WriteStartMember します。
コンストラクター
プロパティ
DeclaringType |
この XamlType に関連付けられているメンバーを宣言する型の XamlMember を取得します。 |
DeferringLoader |
XamlValueConverter<TConverterBase> オブジェクトを取得します。これは XAML で宣言されたオブジェクトの遅延読み込みに使用されます。 |
DependsOn |
XamlMember オブジェクトの一覧を取得します。 これらは、この XamlMember に関連して初期化順序の依存関係が存在するメンバーを報告します。 |
Invoker |
この XamlMemberInvoker に関連付けられている XamlMember の実装を取得します。 |
IsAmbient |
この XamlMember をアンビエント プロパティとして報告するかどうかを示す値を取得します。 |
IsAttachable |
この XamlMember がアタッチ可能なメンバーかどうかを示す値を取得します。 |
IsDirective |
この XamlMember が XAML ディレクティブかどうかを示す値を取得します。 |
IsEvent |
この XamlMember がイベント メンバーを表すかどうかを示す値を取得します。 |
IsNameValid |
この XamlMember が Name として有効な |
IsReadOnly |
この XamlMember が読み取り専用のメンバーを表すかどうかを示す値を取得します。 |
IsReadPublic |
この XamlMember が、呼び出し可能なパブリックの |
IsUnknown |
型およびメンバーの解決に使用されるバッキング システムによって解決できないメンバーであるかどうかを示す値を取得します。 |
IsWriteOnly |
この XamlMember が書き込み専用のメンバーを表すかどうかを示す値を取得します。 |
IsWritePublic |
この XamlMember が、呼び出し可能なパブリックの |
MarkupExtensionBracketCharacters |
マークアップ拡張の左角かっこと右角かっこ文字を定義します。 |
Name |
この XamlMember を宣言する |
PreferredXamlNamespace |
XamlMember のプライマリ XAML 名前空間を識別する単一の XAML 名前空間の URI を取得します。 |
SerializationVisibility |
ビジュアルなデザイナーでのメンバーの処理方法を示す DesignerSerializationVisibility 値を取得します。 |
TargetType |
XamlType が存在できる型の XamlMember を取得します。 |
Type |
メンバーで使用される型の XamlType を取得します。 |
TypeConverter |
XAML で宣言されたオブジェクトの型変換の構築に使用できる XamlValueConverter<TConverterBase> オブジェクトを取得します。 |
UnderlyingMember |
MemberInfo、PropertyInfo、または MethodInfo によって構築されるメンバーで使用できる CLR 型システム EventInfo を取得します。 |
ValueSerializer |
XamlValueConverter<TConverterBase> オブジェクトを取得します。これは XAML で宣言されたオブジェクトの値のシリアル化に使用されます。 |
メソッド
Equals(Object) |
現在のオブジェクトが、別のオブジェクトと等しいかどうかを示します。 |
Equals(XamlMember) |
現在のオブジェクトが、同じ型の別のオブジェクトと等しいかどうかを示します。 |
GetHashCode() |
このオブジェクトのハッシュ コードを返します。 |
GetType() |
現在のインスタンスの Type を取得します。 (継承元 Object) |
GetXamlNamespaces() |
この XAML メンバーが存在することのできる XAML 名前空間のリストを返します。 |
LookupCustomAttributeProvider() |
派生クラスで実装される場合、ICustomAttributeProvider 実装を返します。 |
LookupDeferringLoader() |
XamlValueConverter<TConverterBase> オブジェクトを返します。これは XAML で宣言されたオブジェクトの遅延読み込みに使用されます。 |
LookupDependsOn() |
XamlMember オブジェクトの一覧を返します。 一覧の項目では、この XamlMember に関連して初期化順序の依存関係が存在するメンバーが報告されます。 |
LookupInvoker() |
この XamlMemberInvoker に関連付けられた XamlMember を返します。 |
LookupIsAmbient() |
この XamlMember がアンビエント プロパティとして報告されているかどうかを返します。 |
LookupIsEvent() |
この XamlMember がイベントを表すかどうかを返します。 |
LookupIsReadOnly() |
この XamlMember が目的の読み取り専用プロパティを表すかどうかを返します。 |
LookupIsReadPublic() |
この XamlMember がパブリックの |
LookupIsUnknown() |
この XamlMember が型およびメンバーの解決に使用されるバッキング システムによって解決できないメンバーを表すかどうかを返します。 |
LookupIsWriteOnly() |
この XamlMember が、パブリックの |
LookupIsWritePublic() |
この XamlMember がパブリックの |
LookupMarkupExtensionBracketCharacters() |
マークアップ拡張の左角かっこと右角かっこ文字を返します。 |
LookupTargetType() |
XamlType が存在できる型の XamlMember を返します。 |
LookupType() |
メンバーで使用される型の XamlType を返します。 |
LookupTypeConverter() |
この XamlMember に関連付けられている型コンバーターの実装を返します。 |
LookupUnderlyingGetter() |
この XamlMember に関連付けられている |
LookupUnderlyingMember() |
この MemberInfo に関連付けられている CLR 型システムの XamlMember を返します。 |
LookupUnderlyingSetter() |
この XamlMember に関連付けられている |
LookupValueSerializer() |
この XamlMember に関連付けられている値シリアライザーの実装を返します。 |
MemberwiseClone() |
現在の Object の簡易コピーを作成します。 (継承元 Object) |
ToString() |
この XamlMember の文字列表現を返します。 |
演算子
Equality(XamlMember, XamlMember) |
指定した 2 つの XamlMember オブジェクトの値が同一かどうかを判断します。 |
Inequality(XamlMember, XamlMember) |
指定した 2 つの XamlMember オブジェクトの値が異なるかどうかを判断します。 |
適用対象
こちらもご覧ください
.NET