ConstructorArgumentAttribute クラス


パラメーターなし以外のコンストラクター構文を使用してオブジェクトを初期化できることと、指定した名前のプロパティが構造情報を提供できることを指定します。Specifies that an object can be initialized by using a non-parameterless constructor syntax, and that a property of the specified name supplies construction information. この情報は主に XAML シリアル化用です。This information is primarily for XAML serialization.

public ref class ConstructorArgumentAttribute sealed : Attribute
[System.AttributeUsage(System.AttributeTargets.Property, AllowMultiple=false, Inherited=false)]
public sealed class ConstructorArgumentAttribute : Attribute
type ConstructorArgumentAttribute = class
    inherit Attribute
Public NotInheritable Class ConstructorArgumentAttribute
Inherits Attribute


この属性は、関連付けられているプロパティをコンストラクターパラメーターで初期化できることを指定します。また、コンストラクターを使用してインスタンスを構築する場合は、XAML シリアル化のために無視する必要があります。This attribute specifies that the associated property can be initialized by a constructor parameter and should be ignored for XAML serialization if the constructor is used to construct the instance. これにより、パラメーター化されていないコンストラクターのインスタンス化と特定の属性を使用するのではなく、パラメーター化されたコンストラクター構文に対して、This provides better round trip representations for parameterized constructor syntax rather than parameterless constructor instantiation plus specific attributes.

フレームワークでは、シリアル化のためにオブジェクトツリーの出力にProvideValue依存するのではなく、マークアップ拡張機能の使用を維持し、再設計することができます。A framework can potentially support preserving markup extension usages and reconstituting them rather than relying on ProvideValue output in the object tree for serialization. この場合、 ConstructorArgumentAttributeこの情報は、一般的なマークアップ拡張機能の使用状況を正確に表現するためにシリアル化するときに役立ちます。In this case, the ConstructorArgumentAttribute information is useful during serialization for producing an accurate representation of the typical markup extension usage. マークアップ拡張機能について詳しくは、「 Markup Extensions for XAML Overview」をご覧ください。For more information about markup extensions, see Markup Extensions for XAML Overview.

ConstructorArgumentAttribute属性に対して有効にするためには、型のパブリックでないパラメーターなしのコンストラクターが1つのパラメーターをサポートしている必要があります。In order to be valid for a ConstructorArgumentAttribute attribution, a type's public non-parameterless constructor must support exactly one parameter. パラメーターの名前は、読み取り/書き込みプロパティに対応している必要があります。The name of the parameter must correspond to a read/write property. このプロパティは、シリアル化可能である必要があります。The property must be otherwise serializable. この属性を使用して、コンストラクターのパラメーターの名前とプロパティの間の対応を作成します。You use this attribute to create the correspondence between the name of the parameter in the constructor, and the property. 具体的には、この属性を、接続している読み取り/書き込みプロパティのプロパティレベルの定義に適用します。Specifically, you apply this attribute to the property-level definition of the connecting read/write property.

ConstructorArgumentAttributeコンシューマーは、 ArgumentNameが型のバッキングに解決されない場合、または適切な構築引数とアリティを持たない型に適用された場合にスローすることがあります。Consumers of ConstructorArgumentAttribute may throw in cases where ArgumentName does not resolve to type backing, or when applied to a type that does not have the appropriate construction arguments and arity.

以前のバージョンの .NET Framework では、このクラスは WPF 固有のアセンブリ WindowsBase に存在していました。In previous versions of the .NET Framework, this class existed in the WPF-specific assembly WindowsBase. .NET Framework 4.NET Framework 4ConstructorArgumentAttribute 、は、システムの .xaml アセンブリにあります。In .NET Framework 4.NET Framework 4, ConstructorArgumentAttribute is in the System.Xaml assembly. 詳細については、「 Types Migrated from WPF to System.Xaml」を参照してください。For more information, see Types Migrated from WPF to System.Xaml.

WPF の使用上の注意WPF Usage Notes

マークアップ拡張機能と WPF の詳細については、「マークアップ拡張機能と WPF XAML」を参照してください。For more information about markup extensions and WPF, see Markup Extensions and WPF XAML.



ConstructorArgumentAttribute クラスの新しいインスタンスを初期化します。Initializes a new instance of the ConstructorArgumentAttribute class.



関連するプロパティを初期化するコンストラクターの name パラメーターを取得します。Gets the name parameter of the constructor that will initialize the associated property.


派生クラスで実装されると、この Attribute の一意の識別子を取得します。When implemented in a derived class, gets a unique identifier for this Attribute.

(継承元 Attribute)



このインスタンスが、指定されたオブジェクトと等価であるかどうかを示す値を返します。Returns a value that indicates whether this instance is equal to a specified object.

(継承元 Attribute)

このインスタンスのハッシュ コードを返します。Returns the hash code for this instance.

(継承元 Attribute)

現在のインスタンスの Type を取得します。Gets the Type of the current instance.

(継承元 Object)

派生クラスでオーバーライドされるとき、このインスタンスの値が派生クラスの既定値であるかどうかを示します。When overridden in a derived class, indicates whether the value of this instance is the default value for the derived class.

(継承元 Attribute)

派生クラス内でオーバーライドされたときに、指定したオブジェクトとこのインスタンスが等しいかどうかを示す値を返します。When overridden in a derived class, returns a value that indicates whether this instance equals a specified object.

(継承元 Attribute)

現在の Object の簡易コピーを作成します。Creates a shallow copy of the current Object.

(継承元 Object)

現在のオブジェクトを表す文字列を返します。Returns a string that represents the current object.

(継承元 Object)


_Attribute.GetIDsOfNames(Guid, IntPtr, UInt32, UInt32, IntPtr)

一連の名前を対応する一連のディスパッチ識別子に割り当てます。Maps a set of names to a corresponding set of dispatch identifiers.

(継承元 Attribute)
_Attribute.GetTypeInfo(UInt32, UInt32, IntPtr)

オブジェクトの型情報を取得します。この情報はインターフェイスの型情報の取得に使用できます。Retrieves the type information for an object, which can be used to get the type information for an interface.

(継承元 Attribute)

オブジェクトが提供する型情報インターフェイスの数 (0 または 1) を取得します。Retrieves the number of type information interfaces that an object provides (either 0 or 1).

(継承元 Attribute)
_Attribute.Invoke(UInt32, Guid, UInt32, Int16, IntPtr, IntPtr, IntPtr, IntPtr)

オブジェクトによって公開されたプロパティおよびメソッドへのアクセスを提供します。Provides access to properties and methods exposed by an object.

(継承元 Attribute)