Skip to content
Permalink
Branch: master
Find file Copy path
Find file Copy path
Fetching contributors…
Cannot retrieve contributors at this time
1565 lines (1457 sloc) 94.6 KB
<Type Name="PropertyDescriptor" FullName="System.ComponentModel.PropertyDescriptor">
<TypeSignature Language="C#" Value="public abstract class PropertyDescriptor : System.ComponentModel.MemberDescriptor" />
<TypeSignature Language="ILAsm" Value=".class public auto ansi abstract beforefieldinit PropertyDescriptor extends System.ComponentModel.MemberDescriptor" />
<TypeSignature Language="DocId" Value="T:System.ComponentModel.PropertyDescriptor" />
<TypeSignature Language="VB.NET" Value="Public MustInherit Class PropertyDescriptor&#xA;Inherits MemberDescriptor" />
<TypeSignature Language="C++ CLI" Value="public ref class PropertyDescriptor abstract : System::ComponentModel::MemberDescriptor" />
<TypeSignature Language="F#" Value="type PropertyDescriptor = class&#xA; inherit MemberDescriptor" />
<AssemblyInfo>
<AssemblyName>System.ComponentModel.TypeConverter</AssemblyName>
<AssemblyVersion>4.1.0.0</AssemblyVersion>
<AssemblyVersion>4.2.0.0</AssemblyVersion>
<AssemblyVersion>4.2.1.0</AssemblyVersion>
</AssemblyInfo>
<AssemblyInfo>
<AssemblyName>System</AssemblyName>
<AssemblyVersion>1.0.5000.0</AssemblyVersion>
<AssemblyVersion>2.0.0.0</AssemblyVersion>
<AssemblyVersion>2.0.5.0</AssemblyVersion>
<AssemblyVersion>4.0.0.0</AssemblyVersion>
</AssemblyInfo>
<AssemblyInfo>
<AssemblyName>netstandard</AssemblyName>
<AssemblyVersion>2.0.0.0</AssemblyVersion>
<AssemblyVersion>2.1.0.0</AssemblyVersion>
</AssemblyInfo>
<Base>
<BaseTypeName>System.ComponentModel.MemberDescriptor</BaseTypeName>
</Base>
<Interfaces />
<Attributes>
<Attribute FrameworkAlternate="netframework-1.1;netframework-2.0;netframework-3.0;netframework-3.5;netframework-4.0;netframework-4.5;netframework-4.5.1;netframework-4.5.2;netframework-4.6;netframework-4.6.1;netframework-4.6.2;netframework-4.7;netframework-4.7.1;netframework-4.7.2;xamarinandroid-7.1;xamarinios-10.8;xamarinmac-3.0;netframework-4.8">
<AttributeName>System.Runtime.InteropServices.ComVisible(true)</AttributeName>
</Attribute>
</Attributes>
<Docs>
<summary>Provides an abstraction of a property on a class.</summary>
<remarks>
<format type="text/markdown"><![CDATA[
## Remarks
A description of a property consists of a name, its attributes, the component class that the property is associated with, and the type of the property.
<xref:System.ComponentModel.PropertyDescriptor> provides the following properties and methods:
- <xref:System.ComponentModel.PropertyDescriptor.Converter%2A> contains the <xref:System.ComponentModel.TypeConverter> for this property.
- <xref:System.ComponentModel.PropertyDescriptor.IsLocalizable%2A> indicates whether this property should be localized.
- <xref:System.ComponentModel.PropertyDescriptor.GetEditor%2A> returns an editor of the specified type.
<xref:System.ComponentModel.PropertyDescriptor> also provides the following `abstract` properties and methods:
- <xref:System.ComponentModel.PropertyDescriptor.ComponentType%2A> contains the type of component this property is bound to.
- <xref:System.ComponentModel.PropertyDescriptor.IsReadOnly%2A> indicates whether this property is read-only.
- <xref:System.ComponentModel.PropertyDescriptor.PropertyType%2A> gets the type of the property.
- <xref:System.ComponentModel.PropertyDescriptor.CanResetValue%2A> indicates whether resetting the component changes the value of the component.
- <xref:System.ComponentModel.PropertyDescriptor.GetValue%2A> returns the current value of the property on a component.
- <xref:System.ComponentModel.PropertyDescriptor.ResetValue%2A> resets the value for this property of the component.
- <xref:System.ComponentModel.PropertyDescriptor.SetValue%2A> sets the value of the component to a different value.
- <xref:System.ComponentModel.PropertyDescriptor.ShouldSerializeValue%2A> indicates whether the value of this property needs to be persisted.
Typically, the `abstract` members are implemented through reflection. For more information about reflection, see the topics in [Reflection](~/docs/framework/reflection-and-codedom/reflection.md).
## Examples
The following code example is built upon the example in the <xref:System.ComponentModel.PropertyDescriptorCollection> class. It prints the information (category, description, display name) of the text of a button in a text box. It assumes that `button1` and `textbox1` have been instantiated on a form.
[!code-cpp[PropertyDescriptor#1](~/samples/snippets/cpp/VS_Snippets_Winforms/PropertyDescriptor/CPP/propertydescriptor.cpp#1)]
[!code-csharp[PropertyDescriptor#1](~/samples/snippets/csharp/VS_Snippets_Winforms/PropertyDescriptor/CS/propertydescriptor.cs#1)]
[!code-vb[PropertyDescriptor#1](~/samples/snippets/visualbasic/VS_Snippets_Winforms/PropertyDescriptor/VB/propertydescriptor.vb#1)]
The following code example shows how to implement a custom property descriptor that provides a read-only wrapper around a property. The `SerializeReadOnlyPropertyDescriptor` is used in a custom designer to provide a read-only property descriptor for the control's <xref:System.Windows.Forms.Control.Size%2A> property.
[!code-csharp[System.ComponentModel.PropertyDescriptor#1](~/samples/snippets/csharp/VS_Snippets_Winforms/System.ComponentModel.PropertyDescriptor/CS/SerializeReadOnlyPropertyDescriptor.cs#1)]
[!code-vb[System.ComponentModel.PropertyDescriptor#1](~/samples/snippets/visualbasic/VS_Snippets_Winforms/System.ComponentModel.PropertyDescriptor/VB/SerializeReadOnlyPropertyDescriptor.vb#1)]
The following code examples show how to use the `SerializeReadOnlyPropertyDescriptor` in a custom designer.
[!code-csharp[System.ComponentModel.PropertyDescriptor#10](~/samples/snippets/csharp/VS_Snippets_Winforms/System.ComponentModel.PropertyDescriptor/CS/DemoControlDesigner.cs#10)]
[!code-vb[System.ComponentModel.PropertyDescriptor#10](~/samples/snippets/visualbasic/VS_Snippets_Winforms/System.ComponentModel.PropertyDescriptor/VB/DemoControlDesigner.vb#10)]
[!code-csharp[System.ComponentModel.PropertyDescriptor#100](~/samples/snippets/csharp/VS_Snippets_Winforms/System.ComponentModel.PropertyDescriptor/CS/DemoControl.cs#100)]
[!code-vb[System.ComponentModel.PropertyDescriptor#100](~/samples/snippets/visualbasic/VS_Snippets_Winforms/System.ComponentModel.PropertyDescriptor/VB/DemoControl.vb#100)]
]]></format>
</remarks>
<altmember cref="T:System.ComponentModel.MemberDescriptor" />
<altmember cref="T:System.Attribute" />
<altmember cref="T:System.ComponentModel.DefaultValueAttribute" />
</Docs>
<Members>
<MemberGroup MemberName=".ctor">
<AssemblyInfo>
<AssemblyName>System.ComponentModel.TypeConverter</AssemblyName>
<AssemblyVersion>4.1.0.0</AssemblyVersion>
<AssemblyVersion>4.2.0.0</AssemblyVersion>
</AssemblyInfo>
<Docs>
<summary>Initializes a new instance of the <see cref="T:System.ComponentModel.PropertyDescriptor" /> class.</summary>
</Docs>
</MemberGroup>
<Member MemberName=".ctor">
<MemberSignature Language="C#" Value="protected PropertyDescriptor (System.ComponentModel.MemberDescriptor descr);" />
<MemberSignature Language="ILAsm" Value=".method familyhidebysig specialname rtspecialname instance void .ctor(class System.ComponentModel.MemberDescriptor descr) cil managed" />
<MemberSignature Language="DocId" Value="M:System.ComponentModel.PropertyDescriptor.#ctor(System.ComponentModel.MemberDescriptor)" />
<MemberSignature Language="VB.NET" Value="Protected Sub New (descr As MemberDescriptor)" />
<MemberSignature Language="C++ CLI" Value="protected:&#xA; PropertyDescriptor(System::ComponentModel::MemberDescriptor ^ descr);" />
<MemberSignature Language="F#" Value="new System.ComponentModel.PropertyDescriptor : System.ComponentModel.MemberDescriptor -&gt; System.ComponentModel.PropertyDescriptor" Usage="new System.ComponentModel.PropertyDescriptor descr" />
<MemberType>Constructor</MemberType>
<AssemblyInfo>
<AssemblyName>System.ComponentModel.TypeConverter</AssemblyName>
<AssemblyVersion>4.1.0.0</AssemblyVersion>
<AssemblyVersion>4.2.0.0</AssemblyVersion>
<AssemblyVersion>4.2.1.0</AssemblyVersion>
</AssemblyInfo>
<AssemblyInfo>
<AssemblyName>System</AssemblyName>
<AssemblyVersion>1.0.5000.0</AssemblyVersion>
<AssemblyVersion>2.0.0.0</AssemblyVersion>
<AssemblyVersion>2.0.5.0</AssemblyVersion>
<AssemblyVersion>4.0.0.0</AssemblyVersion>
</AssemblyInfo>
<AssemblyInfo>
<AssemblyName>netstandard</AssemblyName>
<AssemblyVersion>2.0.0.0</AssemblyVersion>
<AssemblyVersion>2.1.0.0</AssemblyVersion>
</AssemblyInfo>
<Attributes>
<Attribute FrameworkAlternate="netframework-4.0">
<AttributeName>System.Runtime.TargetedPatchingOptOut("Performance critical to inline this type of method across NGen image boundaries")</AttributeName>
</Attribute>
</Attributes>
<Parameters>
<Parameter Name="descr" Type="System.ComponentModel.MemberDescriptor" />
</Parameters>
<Docs>
<param name="descr">A <see cref="T:System.ComponentModel.MemberDescriptor" /> that contains the name of the property and its attributes.</param>
<summary>Initializes a new instance of the <see cref="T:System.ComponentModel.PropertyDescriptor" /> class with the name and attributes in the specified <see cref="T:System.ComponentModel.MemberDescriptor" />.</summary>
<remarks>To be added.</remarks>
<altmember cref="T:System.ComponentModel.MemberDescriptor" />
</Docs>
</Member>
<Member MemberName=".ctor">
<MemberSignature Language="C#" Value="protected PropertyDescriptor (System.ComponentModel.MemberDescriptor descr, Attribute[] attrs);" />
<MemberSignature Language="ILAsm" Value=".method familyhidebysig specialname rtspecialname instance void .ctor(class System.ComponentModel.MemberDescriptor descr, class System.Attribute[] attrs) cil managed" />
<MemberSignature Language="DocId" Value="M:System.ComponentModel.PropertyDescriptor.#ctor(System.ComponentModel.MemberDescriptor,System.Attribute[])" />
<MemberSignature Language="VB.NET" Value="Protected Sub New (descr As MemberDescriptor, attrs As Attribute())" />
<MemberSignature Language="C++ CLI" Value="protected:&#xA; PropertyDescriptor(System::ComponentModel::MemberDescriptor ^ descr, cli::array &lt;Attribute ^&gt; ^ attrs);" />
<MemberSignature Language="F#" Value="new System.ComponentModel.PropertyDescriptor : System.ComponentModel.MemberDescriptor * Attribute[] -&gt; System.ComponentModel.PropertyDescriptor" Usage="new System.ComponentModel.PropertyDescriptor (descr, attrs)" />
<MemberType>Constructor</MemberType>
<AssemblyInfo>
<AssemblyName>System.ComponentModel.TypeConverter</AssemblyName>
<AssemblyVersion>4.1.0.0</AssemblyVersion>
<AssemblyVersion>4.2.0.0</AssemblyVersion>
<AssemblyVersion>4.2.1.0</AssemblyVersion>
</AssemblyInfo>
<AssemblyInfo>
<AssemblyName>System</AssemblyName>
<AssemblyVersion>1.0.5000.0</AssemblyVersion>
<AssemblyVersion>2.0.0.0</AssemblyVersion>
<AssemblyVersion>2.0.5.0</AssemblyVersion>
<AssemblyVersion>4.0.0.0</AssemblyVersion>
</AssemblyInfo>
<AssemblyInfo>
<AssemblyName>netstandard</AssemblyName>
<AssemblyVersion>2.0.0.0</AssemblyVersion>
<AssemblyVersion>2.1.0.0</AssemblyVersion>
</AssemblyInfo>
<Attributes>
<Attribute FrameworkAlternate="netframework-4.0">
<AttributeName>System.Runtime.TargetedPatchingOptOut("Performance critical to inline this type of method across NGen image boundaries")</AttributeName>
</Attribute>
</Attributes>
<Parameters>
<Parameter Name="descr" Type="System.ComponentModel.MemberDescriptor" />
<Parameter Name="attrs" Type="System.Attribute[]" />
</Parameters>
<Docs>
<param name="descr">A <see cref="T:System.ComponentModel.MemberDescriptor" /> containing the name of the member and its attributes.</param>
<param name="attrs">An <see cref="T:System.Attribute" /> array containing the attributes you want to associate with the property.</param>
<summary>Initializes a new instance of the <see cref="T:System.ComponentModel.PropertyDescriptor" /> class with the name in the specified <see cref="T:System.ComponentModel.MemberDescriptor" /> and the attributes in both the <see cref="T:System.ComponentModel.MemberDescriptor" /> and the <see cref="T:System.Attribute" /> array.</summary>
<remarks>
<format type="text/markdown"><![CDATA[
## Remarks
This constructor appends the attributes in the <xref:System.Attribute> array to the attributes in the <xref:System.ComponentModel.MemberDescriptor>.
]]></format>
</remarks>
<altmember cref="T:System.ComponentModel.MemberDescriptor" />
<altmember cref="T:System.Attribute" />
</Docs>
</Member>
<Member MemberName=".ctor">
<MemberSignature Language="C#" Value="protected PropertyDescriptor (string name, Attribute[] attrs);" />
<MemberSignature Language="ILAsm" Value=".method familyhidebysig specialname rtspecialname instance void .ctor(string name, class System.Attribute[] attrs) cil managed" />
<MemberSignature Language="DocId" Value="M:System.ComponentModel.PropertyDescriptor.#ctor(System.String,System.Attribute[])" />
<MemberSignature Language="VB.NET" Value="Protected Sub New (name As String, attrs As Attribute())" />
<MemberSignature Language="C++ CLI" Value="protected:&#xA; PropertyDescriptor(System::String ^ name, cli::array &lt;Attribute ^&gt; ^ attrs);" />
<MemberSignature Language="F#" Value="new System.ComponentModel.PropertyDescriptor : string * Attribute[] -&gt; System.ComponentModel.PropertyDescriptor" Usage="new System.ComponentModel.PropertyDescriptor (name, attrs)" />
<MemberType>Constructor</MemberType>
<AssemblyInfo>
<AssemblyName>System.ComponentModel.TypeConverter</AssemblyName>
<AssemblyVersion>4.1.0.0</AssemblyVersion>
<AssemblyVersion>4.2.0.0</AssemblyVersion>
<AssemblyVersion>4.2.1.0</AssemblyVersion>
</AssemblyInfo>
<AssemblyInfo>
<AssemblyName>System</AssemblyName>
<AssemblyVersion>1.0.5000.0</AssemblyVersion>
<AssemblyVersion>2.0.0.0</AssemblyVersion>
<AssemblyVersion>2.0.5.0</AssemblyVersion>
<AssemblyVersion>4.0.0.0</AssemblyVersion>
</AssemblyInfo>
<AssemblyInfo>
<AssemblyName>netstandard</AssemblyName>
<AssemblyVersion>2.0.0.0</AssemblyVersion>
<AssemblyVersion>2.1.0.0</AssemblyVersion>
</AssemblyInfo>
<Attributes>
<Attribute FrameworkAlternate="netframework-4.0">
<AttributeName>System.Runtime.TargetedPatchingOptOut("Performance critical to inline this type of method across NGen image boundaries")</AttributeName>
</Attribute>
</Attributes>
<Parameters>
<Parameter Name="name" Type="System.String" />
<Parameter Name="attrs" Type="System.Attribute[]" />
</Parameters>
<Docs>
<param name="name">The name of the property.</param>
<param name="attrs">An array of type <see cref="T:System.Attribute" /> that contains the property attributes.</param>
<summary>Initializes a new instance of the <see cref="T:System.ComponentModel.PropertyDescriptor" /> class with the specified name and attributes.</summary>
<remarks>To be added.</remarks>
<altmember cref="T:System.Attribute" />
</Docs>
</Member>
<Member MemberName="AddValueChanged">
<MemberSignature Language="C#" Value="public virtual void AddValueChanged (object component, EventHandler handler);" />
<MemberSignature Language="ILAsm" Value=".method public hidebysig newslot virtual instance void AddValueChanged(object component, class System.EventHandler handler) cil managed" />
<MemberSignature Language="DocId" Value="M:System.ComponentModel.PropertyDescriptor.AddValueChanged(System.Object,System.EventHandler)" />
<MemberSignature Language="VB.NET" Value="Public Overridable Sub AddValueChanged (component As Object, handler As EventHandler)" />
<MemberSignature Language="C++ CLI" Value="public:&#xA; virtual void AddValueChanged(System::Object ^ component, EventHandler ^ handler);" />
<MemberSignature Language="F#" Value="abstract member AddValueChanged : obj * EventHandler -&gt; unit&#xA;override this.AddValueChanged : obj * EventHandler -&gt; unit" Usage="propertyDescriptor.AddValueChanged (component, handler)" />
<MemberType>Method</MemberType>
<AssemblyInfo>
<AssemblyName>System.ComponentModel.TypeConverter</AssemblyName>
<AssemblyVersion>4.1.0.0</AssemblyVersion>
<AssemblyVersion>4.2.0.0</AssemblyVersion>
<AssemblyVersion>4.2.1.0</AssemblyVersion>
</AssemblyInfo>
<AssemblyInfo>
<AssemblyName>System</AssemblyName>
<AssemblyVersion>1.0.5000.0</AssemblyVersion>
<AssemblyVersion>2.0.0.0</AssemblyVersion>
<AssemblyVersion>2.0.5.0</AssemblyVersion>
<AssemblyVersion>4.0.0.0</AssemblyVersion>
</AssemblyInfo>
<AssemblyInfo>
<AssemblyName>netstandard</AssemblyName>
<AssemblyVersion>2.0.0.0</AssemblyVersion>
<AssemblyVersion>2.1.0.0</AssemblyVersion>
</AssemblyInfo>
<ReturnValue>
<ReturnType>System.Void</ReturnType>
</ReturnValue>
<Parameters>
<Parameter Name="component" Type="System.Object" />
<Parameter Name="handler" Type="System.EventHandler" />
</Parameters>
<Docs>
<param name="component">The component to add the handler for.</param>
<param name="handler">The delegate to add as a listener.</param>
<summary>Enables other objects to be notified when this property changes.</summary>
<remarks>To be added.</remarks>
<exception cref="T:System.ArgumentNullException">
<paramref name="component" /> or <paramref name="handler" /> is <see langword="null" />.</exception>
</Docs>
</Member>
<Member MemberName="CanResetValue">
<MemberSignature Language="C#" Value="public abstract bool CanResetValue (object component);" />
<MemberSignature Language="ILAsm" Value=".method public hidebysig newslot virtual instance bool CanResetValue(object component) cil managed" />
<MemberSignature Language="DocId" Value="M:System.ComponentModel.PropertyDescriptor.CanResetValue(System.Object)" />
<MemberSignature Language="VB.NET" Value="Public MustOverride Function CanResetValue (component As Object) As Boolean" />
<MemberSignature Language="C++ CLI" Value="public:&#xA; abstract bool CanResetValue(System::Object ^ component);" />
<MemberSignature Language="F#" Value="abstract member CanResetValue : obj -&gt; bool" Usage="propertyDescriptor.CanResetValue component" />
<MemberType>Method</MemberType>
<AssemblyInfo>
<AssemblyName>System.ComponentModel.TypeConverter</AssemblyName>
<AssemblyVersion>4.1.0.0</AssemblyVersion>
<AssemblyVersion>4.2.0.0</AssemblyVersion>
<AssemblyVersion>4.2.1.0</AssemblyVersion>
</AssemblyInfo>
<AssemblyInfo>
<AssemblyName>System</AssemblyName>
<AssemblyVersion>1.0.5000.0</AssemblyVersion>
<AssemblyVersion>2.0.0.0</AssemblyVersion>
<AssemblyVersion>2.0.5.0</AssemblyVersion>
<AssemblyVersion>4.0.0.0</AssemblyVersion>
</AssemblyInfo>
<AssemblyInfo>
<AssemblyName>netstandard</AssemblyName>
<AssemblyVersion>2.0.0.0</AssemblyVersion>
<AssemblyVersion>2.1.0.0</AssemblyVersion>
</AssemblyInfo>
<ReturnValue>
<ReturnType>System.Boolean</ReturnType>
</ReturnValue>
<Parameters>
<Parameter Name="component" Type="System.Object" />
</Parameters>
<Docs>
<param name="component">The component to test for reset capability.</param>
<summary>When overridden in a derived class, returns whether resetting an object changes its value.</summary>
<returns>
<see langword="true" /> if resetting the component changes its value; otherwise, <see langword="false" />.</returns>
<remarks>
<format type="text/markdown"><![CDATA[
## Remarks
Typically, this method is implemented through reflection.
]]></format>
</remarks>
<block subset="none" type="overrides">
<para>When overridden in a derived class, this method looks for a <see cref="T:System.ComponentModel.DefaultValueAttribute" />. If it finds one, it compares the value of the attribute with the property's current value. It returns <see langword="true" /> when the default value does not match the property's current value. If this method cannot find a <see cref="T:System.ComponentModel.DefaultValueAttribute" />, it looks for a "ShouldPersistMyProperty" method that you need to implement yourself. If this is found, <see cref="M:System.ComponentModel.PropertyDescriptor.CanResetValue(System.Object)" /> returns what "ShouldPersistMyProperty" returns. Otherwise, it looks for a "ResetMyProperty" method that you need to implement yourself. If this is found, <see cref="M:System.ComponentModel.PropertyDescriptor.CanResetValue(System.Object)" /> returns <see langword="true" />. If it cannot find a <see cref="T:System.ComponentModel.DefaultValueAttribute" />, a "ShouldPersistMyProperty" method, or a "ResetMyProperty" method, then it returns <see langword="false" />.</para>
</block>
<altmember cref="T:System.ComponentModel.PropertyDescriptor" />
</Docs>
</Member>
<Member MemberName="ComponentType">
<MemberSignature Language="C#" Value="public abstract Type ComponentType { get; }" />
<MemberSignature Language="ILAsm" Value=".property instance class System.Type ComponentType" />
<MemberSignature Language="DocId" Value="P:System.ComponentModel.PropertyDescriptor.ComponentType" />
<MemberSignature Language="VB.NET" Value="Public MustOverride ReadOnly Property ComponentType As Type" />
<MemberSignature Language="C++ CLI" Value="public:&#xA; abstract property Type ^ ComponentType { Type ^ get(); };" />
<MemberSignature Language="F#" Value="member this.ComponentType : Type" Usage="System.ComponentModel.PropertyDescriptor.ComponentType" />
<MemberType>Property</MemberType>
<AssemblyInfo>
<AssemblyName>System.ComponentModel.TypeConverter</AssemblyName>
<AssemblyVersion>4.1.0.0</AssemblyVersion>
<AssemblyVersion>4.2.0.0</AssemblyVersion>
<AssemblyVersion>4.2.1.0</AssemblyVersion>
</AssemblyInfo>
<AssemblyInfo>
<AssemblyName>System</AssemblyName>
<AssemblyVersion>1.0.5000.0</AssemblyVersion>
<AssemblyVersion>2.0.0.0</AssemblyVersion>
<AssemblyVersion>2.0.5.0</AssemblyVersion>
<AssemblyVersion>4.0.0.0</AssemblyVersion>
</AssemblyInfo>
<AssemblyInfo>
<AssemblyName>netstandard</AssemblyName>
<AssemblyVersion>2.0.0.0</AssemblyVersion>
<AssemblyVersion>2.1.0.0</AssemblyVersion>
</AssemblyInfo>
<ReturnValue>
<ReturnType>System.Type</ReturnType>
</ReturnValue>
<Docs>
<summary>When overridden in a derived class, gets the type of the component this property is bound to.</summary>
<value>A <see cref="T:System.Type" /> that represents the type of component this property is bound to. When the <see cref="M:System.ComponentModel.PropertyDescriptor.GetValue(System.Object)" /> or <see cref="M:System.ComponentModel.PropertyDescriptor.SetValue(System.Object,System.Object)" /> methods are invoked, the object specified might be an instance of this type.</value>
<remarks>
<format type="text/markdown"><![CDATA[
## Remarks
Typically, this property is implemented through reflection.
]]></format>
</remarks>
</Docs>
</Member>
<Member MemberName="Converter">
<MemberSignature Language="C#" Value="public virtual System.ComponentModel.TypeConverter Converter { get; }" />
<MemberSignature Language="ILAsm" Value=".property instance class System.ComponentModel.TypeConverter Converter" />
<MemberSignature Language="DocId" Value="P:System.ComponentModel.PropertyDescriptor.Converter" />
<MemberSignature Language="VB.NET" Value="Public Overridable ReadOnly Property Converter As TypeConverter" />
<MemberSignature Language="C++ CLI" Value="public:&#xA; virtual property System::ComponentModel::TypeConverter ^ Converter { System::ComponentModel::TypeConverter ^ get(); };" />
<MemberSignature Language="F#" Value="member this.Converter : System.ComponentModel.TypeConverter" Usage="System.ComponentModel.PropertyDescriptor.Converter" />
<MemberType>Property</MemberType>
<AssemblyInfo>
<AssemblyName>System.ComponentModel.TypeConverter</AssemblyName>
<AssemblyVersion>4.1.0.0</AssemblyVersion>
<AssemblyVersion>4.2.0.0</AssemblyVersion>
<AssemblyVersion>4.2.1.0</AssemblyVersion>
</AssemblyInfo>
<AssemblyInfo>
<AssemblyName>System</AssemblyName>
<AssemblyVersion>1.0.5000.0</AssemblyVersion>
<AssemblyVersion>2.0.0.0</AssemblyVersion>
<AssemblyVersion>2.0.5.0</AssemblyVersion>
<AssemblyVersion>4.0.0.0</AssemblyVersion>
</AssemblyInfo>
<AssemblyInfo>
<AssemblyName>netstandard</AssemblyName>
<AssemblyVersion>2.0.0.0</AssemblyVersion>
<AssemblyVersion>2.1.0.0</AssemblyVersion>
</AssemblyInfo>
<ReturnValue>
<ReturnType>System.ComponentModel.TypeConverter</ReturnType>
</ReturnValue>
<Docs>
<summary>Gets the type converter for this property.</summary>
<value>A <see cref="T:System.ComponentModel.TypeConverter" /> that is used to convert the <see cref="T:System.Type" /> of this property.</value>
<remarks>To be added.</remarks>
<altmember cref="T:System.ComponentModel.TypeConverter" />
</Docs>
</Member>
<Member MemberName="CreateInstance">
<MemberSignature Language="C#" Value="protected object CreateInstance (Type type);" />
<MemberSignature Language="ILAsm" Value=".method familyhidebysig instance object CreateInstance(class System.Type type) cil managed" />
<MemberSignature Language="DocId" Value="M:System.ComponentModel.PropertyDescriptor.CreateInstance(System.Type)" />
<MemberSignature Language="C++ CLI" Value="protected:&#xA; System::Object ^ CreateInstance(Type ^ type);" />
<MemberSignature Language="F#" Value="member this.CreateInstance : Type -&gt; obj" Usage="propertyDescriptor.CreateInstance type" />
<MemberType>Method</MemberType>
<AssemblyInfo>
<AssemblyName>System.ComponentModel.TypeConverter</AssemblyName>
<AssemblyVersion>4.1.0.0</AssemblyVersion>
<AssemblyVersion>4.2.0.0</AssemblyVersion>
<AssemblyVersion>4.2.1.0</AssemblyVersion>
</AssemblyInfo>
<AssemblyInfo>
<AssemblyName>System</AssemblyName>
<AssemblyVersion>1.0.5000.0</AssemblyVersion>
<AssemblyVersion>2.0.0.0</AssemblyVersion>
<AssemblyVersion>2.0.5.0</AssemblyVersion>
<AssemblyVersion>4.0.0.0</AssemblyVersion>
</AssemblyInfo>
<AssemblyInfo>
<AssemblyName>netstandard</AssemblyName>
<AssemblyVersion>2.0.0.0</AssemblyVersion>
<AssemblyVersion>2.1.0.0</AssemblyVersion>
</AssemblyInfo>
<ReturnValue>
<ReturnType>System.Object</ReturnType>
</ReturnValue>
<Parameters>
<Parameter Name="type" Type="System.Type" />
</Parameters>
<Docs>
<param name="type">A <see cref="T:System.Type" /> that represents the type to create.</param>
<summary>Creates an instance of the specified type.</summary>
<returns>A new instance of the type.</returns>
<remarks>
<format type="text/markdown"><![CDATA[
## Remarks
<xref:System.ComponentModel.PropertyDescriptor.CreateInstance%2A> looks for a constructor that takes the specified type. If it finds a constructor, the type of the property is passed in.
Converters and editors use this method to create versions of a component. This method enables a single component to be reused for more than one type.
]]></format>
</remarks>
<permission cref="T:System.Security.Permissions.ReflectionPermission">for access to private class members and metadata. Associated enumeration: <see cref="F:System.Security.Permissions.PermissionState.Unrestricted" /></permission>
<altmember cref="T:System.ComponentModel.TypeConverter" />
<altmember cref="T:System.Drawing.Design.UITypeEditor" />
</Docs>
</Member>
<Member MemberName="Equals">
<MemberSignature Language="C#" Value="public override bool Equals (object obj);" />
<MemberSignature Language="ILAsm" Value=".method public hidebysig virtual instance bool Equals(object obj) cil managed" />
<MemberSignature Language="DocId" Value="M:System.ComponentModel.PropertyDescriptor.Equals(System.Object)" />
<MemberSignature Language="VB.NET" Value="Public Overrides Function Equals (obj As Object) As Boolean" />
<MemberSignature Language="C++ CLI" Value="public:&#xA; override bool Equals(System::Object ^ obj);" />
<MemberSignature Language="F#" Value="override this.Equals : obj -&gt; bool" Usage="propertyDescriptor.Equals obj" />
<MemberType>Method</MemberType>
<AssemblyInfo>
<AssemblyName>System.ComponentModel.TypeConverter</AssemblyName>
<AssemblyVersion>4.1.0.0</AssemblyVersion>
<AssemblyVersion>4.2.0.0</AssemblyVersion>
<AssemblyVersion>4.2.1.0</AssemblyVersion>
</AssemblyInfo>
<AssemblyInfo>
<AssemblyName>System</AssemblyName>
<AssemblyVersion>1.0.5000.0</AssemblyVersion>
<AssemblyVersion>2.0.0.0</AssemblyVersion>
<AssemblyVersion>2.0.5.0</AssemblyVersion>
<AssemblyVersion>4.0.0.0</AssemblyVersion>
</AssemblyInfo>
<AssemblyInfo>
<AssemblyName>netstandard</AssemblyName>
<AssemblyVersion>2.0.0.0</AssemblyVersion>
<AssemblyVersion>2.1.0.0</AssemblyVersion>
</AssemblyInfo>
<ReturnValue>
<ReturnType>System.Boolean</ReturnType>
</ReturnValue>
<Parameters>
<Parameter Name="obj" Type="System.Object" />
</Parameters>
<Docs>
<param name="obj">The object to compare to this <see cref="T:System.ComponentModel.PropertyDescriptor" />.</param>
<summary>Compares this to another object to see if they are equivalent.</summary>
<returns>
<see langword="true" /> if the values are equivalent; otherwise, <see langword="false" />.</returns>
<remarks>To be added.</remarks>
</Docs>
</Member>
<Member MemberName="FillAttributes">
<MemberSignature Language="C#" Value="protected override void FillAttributes (System.Collections.IList attributeList);" />
<MemberSignature Language="ILAsm" Value=".method familyhidebysig virtual instance void FillAttributes(class System.Collections.IList attributeList) cil managed" />
<MemberSignature Language="DocId" Value="M:System.ComponentModel.PropertyDescriptor.FillAttributes(System.Collections.IList)" />
<MemberSignature Language="VB.NET" Value="Protected Overrides Sub FillAttributes (attributeList As IList)" />
<MemberSignature Language="C++ CLI" Value="protected:&#xA; override void FillAttributes(System::Collections::IList ^ attributeList);" />
<MemberSignature Language="F#" Value="override this.FillAttributes : System.Collections.IList -&gt; unit" Usage="propertyDescriptor.FillAttributes attributeList" />
<MemberType>Method</MemberType>
<AssemblyInfo>
<AssemblyName>System.ComponentModel.TypeConverter</AssemblyName>
<AssemblyVersion>4.1.0.0</AssemblyVersion>
<AssemblyVersion>4.2.0.0</AssemblyVersion>
<AssemblyVersion>4.2.1.0</AssemblyVersion>
</AssemblyInfo>
<AssemblyInfo>
<AssemblyName>System</AssemblyName>
<AssemblyVersion>2.0.0.0</AssemblyVersion>
<AssemblyVersion>2.0.5.0</AssemblyVersion>
<AssemblyVersion>4.0.0.0</AssemblyVersion>
</AssemblyInfo>
<AssemblyInfo>
<AssemblyName>netstandard</AssemblyName>
<AssemblyVersion>2.0.0.0</AssemblyVersion>
<AssemblyVersion>2.1.0.0</AssemblyVersion>
</AssemblyInfo>
<ReturnValue>
<ReturnType>System.Void</ReturnType>
</ReturnValue>
<Parameters>
<Parameter Name="attributeList" Type="System.Collections.IList" Index="0" FrameworkAlternate="netcore-1.0;netcore-1.1;netcore-2.0;netcore-2.1;netcore-2.2;netcore-3.0;netframework-2.0;netframework-3.0;netframework-3.5;netframework-4.0;netframework-4.5;netframework-4.5.1;netframework-4.5.2;netframework-4.6;netframework-4.6.1;netframework-4.6.2;netframework-4.7;netframework-4.7.1;netframework-4.7.2;netframework-4.8;netstandard-2.0;netstandard-2.1;xamarinandroid-7.1;xamarinios-10.8;xamarinmac-3.0" />
</Parameters>
<Docs>
<param name="attributeList">An <see cref="T:System.Collections.IList" /> that lists the attributes in the parent class. Initially, this is empty.</param>
<summary>Adds the attributes of the <see cref="T:System.ComponentModel.PropertyDescriptor" /> to the specified list of attributes in the parent class.</summary>
<remarks>
<format type="text/markdown"><![CDATA[
## Remarks
For duplicate attributes, the last one added to the list will be kept.
]]></format>
</remarks>
</Docs>
</Member>
<MemberGroup MemberName="GetChildProperties">
<AssemblyInfo>
<AssemblyName>System.ComponentModel.TypeConverter</AssemblyName>
<AssemblyVersion>4.1.0.0</AssemblyVersion>
<AssemblyVersion>4.2.0.0</AssemblyVersion>
</AssemblyInfo>
<Docs>
<summary>Returns a <see cref="T:System.ComponentModel.PropertyDescriptorCollection" />.</summary>
</Docs>
</MemberGroup>
<Member MemberName="GetChildProperties">
<MemberSignature Language="C#" Value="public System.ComponentModel.PropertyDescriptorCollection GetChildProperties ();" />
<MemberSignature Language="ILAsm" Value=".method public hidebysig instance class System.ComponentModel.PropertyDescriptorCollection GetChildProperties() cil managed" />
<MemberSignature Language="DocId" Value="M:System.ComponentModel.PropertyDescriptor.GetChildProperties" />
<MemberSignature Language="VB.NET" Value="Public Function GetChildProperties () As PropertyDescriptorCollection" />
<MemberSignature Language="C++ CLI" Value="public:&#xA; System::ComponentModel::PropertyDescriptorCollection ^ GetChildProperties();" />
<MemberSignature Language="F#" Value="member this.GetChildProperties : unit -&gt; System.ComponentModel.PropertyDescriptorCollection" Usage="propertyDescriptor.GetChildProperties " />
<MemberType>Method</MemberType>
<AssemblyInfo>
<AssemblyName>System.ComponentModel.TypeConverter</AssemblyName>
<AssemblyVersion>4.1.0.0</AssemblyVersion>
<AssemblyVersion>4.2.0.0</AssemblyVersion>
<AssemblyVersion>4.2.1.0</AssemblyVersion>
</AssemblyInfo>
<AssemblyInfo>
<AssemblyName>System</AssemblyName>
<AssemblyVersion>1.0.5000.0</AssemblyVersion>
<AssemblyVersion>2.0.0.0</AssemblyVersion>
<AssemblyVersion>2.0.5.0</AssemblyVersion>
<AssemblyVersion>4.0.0.0</AssemblyVersion>
</AssemblyInfo>
<AssemblyInfo>
<AssemblyName>netstandard</AssemblyName>
<AssemblyVersion>2.0.0.0</AssemblyVersion>
<AssemblyVersion>2.1.0.0</AssemblyVersion>
</AssemblyInfo>
<Attributes>
<Attribute FrameworkAlternate="netframework-4.0">
<AttributeName>System.Runtime.TargetedPatchingOptOut("Performance critical to inline this type of method across NGen image boundaries")</AttributeName>
</Attribute>
</Attributes>
<ReturnValue>
<ReturnType>System.ComponentModel.PropertyDescriptorCollection</ReturnType>
</ReturnValue>
<Parameters />
<Docs>
<summary>Returns the default <see cref="T:System.ComponentModel.PropertyDescriptorCollection" />.</summary>
<returns>A collection of property descriptor.</returns>
<remarks>
<format type="text/markdown"><![CDATA[
## Remarks
This method passes `null` for both the `instance` parameter and the `filter` parameter.
The properties for the `instance` parameter can differ from the properties of a class, because the container can add or remove properties if the `instance` parameter is sited.
The `filter` parameter can mix <xref:System.Type> and <xref:System.Attribute> objects. Filtering is defined by the following rules:
- A <xref:System.Type> object is treated as a wildcard; it matches any property that has the <xref:System.Type> in its set of attributes.
- If a property does not have an <xref:System.Attribute> of the same class, the property will not be included in the returned array.
- If the attribute is an instance of <xref:System.Attribute>, the property must be an exact match to be included in the returned array.
- If you specify an <xref:System.Attribute> and it is the default property, it will be included in the returned array, even if there is no instance of <xref:System.Attribute> in the property.
]]></format>
</remarks>
<altmember cref="T:System.ComponentModel.TypeDescriptor" />
<altmember cref="T:System.ComponentModel.EventDescriptor" />
<altmember cref="T:System.ComponentModel.PropertyDescriptor" />
<altmember cref="T:System.ComponentModel.PropertyDescriptorCollection" />
<altmember cref="T:System.Attribute" />
</Docs>
</Member>
<Member MemberName="GetChildProperties">
<MemberSignature Language="C#" Value="public System.ComponentModel.PropertyDescriptorCollection GetChildProperties (Attribute[] filter);" />
<MemberSignature Language="ILAsm" Value=".method public hidebysig instance class System.ComponentModel.PropertyDescriptorCollection GetChildProperties(class System.Attribute[] filter) cil managed" />
<MemberSignature Language="DocId" Value="M:System.ComponentModel.PropertyDescriptor.GetChildProperties(System.Attribute[])" />
<MemberSignature Language="VB.NET" Value="Public Function GetChildProperties (filter As Attribute()) As PropertyDescriptorCollection" />
<MemberSignature Language="C++ CLI" Value="public:&#xA; System::ComponentModel::PropertyDescriptorCollection ^ GetChildProperties(cli::array &lt;Attribute ^&gt; ^ filter);" />
<MemberSignature Language="F#" Value="member this.GetChildProperties : Attribute[] -&gt; System.ComponentModel.PropertyDescriptorCollection" Usage="propertyDescriptor.GetChildProperties filter" />
<MemberType>Method</MemberType>
<AssemblyInfo>
<AssemblyName>System.ComponentModel.TypeConverter</AssemblyName>
<AssemblyVersion>4.1.0.0</AssemblyVersion>
<AssemblyVersion>4.2.0.0</AssemblyVersion>
<AssemblyVersion>4.2.1.0</AssemblyVersion>
</AssemblyInfo>
<AssemblyInfo>
<AssemblyName>System</AssemblyName>
<AssemblyVersion>1.0.5000.0</AssemblyVersion>
<AssemblyVersion>2.0.0.0</AssemblyVersion>
<AssemblyVersion>2.0.5.0</AssemblyVersion>
<AssemblyVersion>4.0.0.0</AssemblyVersion>
</AssemblyInfo>
<AssemblyInfo>
<AssemblyName>netstandard</AssemblyName>
<AssemblyVersion>2.0.0.0</AssemblyVersion>
<AssemblyVersion>2.1.0.0</AssemblyVersion>
</AssemblyInfo>
<Attributes>
<Attribute FrameworkAlternate="netframework-4.0">
<AttributeName>System.Runtime.TargetedPatchingOptOut("Performance critical to inline this type of method across NGen image boundaries")</AttributeName>
</Attribute>
</Attributes>
<ReturnValue>
<ReturnType>System.ComponentModel.PropertyDescriptorCollection</ReturnType>
</ReturnValue>
<Parameters>
<Parameter Name="filter" Type="System.Attribute[]" />
</Parameters>
<Docs>
<param name="filter">An array of type <see cref="T:System.Attribute" /> to use as a filter.</param>
<summary>Returns a <see cref="T:System.ComponentModel.PropertyDescriptorCollection" /> using a specified array of attributes as a filter.</summary>
<returns>A <see cref="T:System.ComponentModel.PropertyDescriptorCollection" /> with the properties that match the specified attributes.</returns>
<remarks>
<format type="text/markdown"><![CDATA[
## Remarks
This method passes `null` for the `instance` parameter.
The properties for the `instance` parameter can differ from the properties of a class, because the site can add or remove properties if the `instance` parameter is sited.
The `filter` parameter can mix <xref:System.Type> and <xref:System.Attribute> objects. Filtering is defined by the following rules:
- A <xref:System.Type> object is treated as a wildcard; it matches any property that has the <xref:System.Type> in its set of attributes.
- If a property does not have an <xref:System.Attribute> of the same class, the property will not be included in the returned array.
- If the attribute is an instance of <xref:System.Attribute>, the property must be an exact match to be included in the returned array.
- If you specify an <xref:System.Attribute> instance and it is the default property, it will be included in the returned array even if there is no instance of the <xref:System.Attribute> in the property.
]]></format>
</remarks>
<altmember cref="T:System.ComponentModel.TypeDescriptor" />
<altmember cref="T:System.ComponentModel.EventDescriptor" />
<altmember cref="T:System.ComponentModel.PropertyDescriptor" />
<altmember cref="T:System.ComponentModel.PropertyDescriptorCollection" />
<altmember cref="T:System.Attribute" />
</Docs>
</Member>
<Member MemberName="GetChildProperties">
<MemberSignature Language="C#" Value="public System.ComponentModel.PropertyDescriptorCollection GetChildProperties (object instance);" />
<MemberSignature Language="ILAsm" Value=".method public hidebysig instance class System.ComponentModel.PropertyDescriptorCollection GetChildProperties(object instance) cil managed" />
<MemberSignature Language="DocId" Value="M:System.ComponentModel.PropertyDescriptor.GetChildProperties(System.Object)" />
<MemberSignature Language="VB.NET" Value="Public Function GetChildProperties (instance As Object) As PropertyDescriptorCollection" />
<MemberSignature Language="C++ CLI" Value="public:&#xA; System::ComponentModel::PropertyDescriptorCollection ^ GetChildProperties(System::Object ^ instance);" />
<MemberSignature Language="F#" Value="member this.GetChildProperties : obj -&gt; System.ComponentModel.PropertyDescriptorCollection" Usage="propertyDescriptor.GetChildProperties instance" />
<MemberType>Method</MemberType>
<AssemblyInfo>
<AssemblyName>System.ComponentModel.TypeConverter</AssemblyName>
<AssemblyVersion>4.1.0.0</AssemblyVersion>
<AssemblyVersion>4.2.0.0</AssemblyVersion>
<AssemblyVersion>4.2.1.0</AssemblyVersion>
</AssemblyInfo>
<AssemblyInfo>
<AssemblyName>System</AssemblyName>
<AssemblyVersion>1.0.5000.0</AssemblyVersion>
<AssemblyVersion>2.0.0.0</AssemblyVersion>
<AssemblyVersion>2.0.5.0</AssemblyVersion>
<AssemblyVersion>4.0.0.0</AssemblyVersion>
</AssemblyInfo>
<AssemblyInfo>
<AssemblyName>netstandard</AssemblyName>
<AssemblyVersion>2.0.0.0</AssemblyVersion>
<AssemblyVersion>2.1.0.0</AssemblyVersion>
</AssemblyInfo>
<Attributes>
<Attribute FrameworkAlternate="netframework-4.0">
<AttributeName>System.Runtime.TargetedPatchingOptOut("Performance critical to inline this type of method across NGen image boundaries")</AttributeName>
</Attribute>
</Attributes>
<ReturnValue>
<ReturnType>System.ComponentModel.PropertyDescriptorCollection</ReturnType>
</ReturnValue>
<Parameters>
<Parameter Name="instance" Type="System.Object" />
</Parameters>
<Docs>
<param name="instance">A component to get the properties for.</param>
<summary>Returns a <see cref="T:System.ComponentModel.PropertyDescriptorCollection" /> for a given object.</summary>
<returns>A <see cref="T:System.ComponentModel.PropertyDescriptorCollection" /> with the properties for the specified component.</returns>
<remarks>
<format type="text/markdown"><![CDATA[
## Remarks
This method passes `null` for the `filter` parameter.
The properties for the `instance` parameter can differ from the properties of a class, because the site can add or remove properties if the `instance` parameter is sited.
The `filter` parameter can mix <xref:System.Type> and <xref:System.Attribute> objects. Filtering is defined by the following rules:
- A <xref:System.Type> object is treated as a wildcard; it matches any property that has the <xref:System.Type> in its set of attributes.
- If a property does not have an <xref:System.Attribute> of the same class, the property will not be included in the returned array.
- If the attribute is an instance of <xref:System.Attribute>, the property must be an exact match to be included in the returned array.
- If you specify an <xref:System.Attribute> instance and it is the default property, it will be included in the returned array even if there is no instance of the <xref:System.Attribute> in the property.
]]></format>
</remarks>
<altmember cref="T:System.ComponentModel.TypeDescriptor" />
<altmember cref="T:System.ComponentModel.EventDescriptor" />
<altmember cref="T:System.ComponentModel.PropertyDescriptor" />
<altmember cref="T:System.ComponentModel.PropertyDescriptorCollection" />
<altmember cref="T:System.Attribute" />
</Docs>
</Member>
<Member MemberName="GetChildProperties">
<MemberSignature Language="C#" Value="public virtual System.ComponentModel.PropertyDescriptorCollection GetChildProperties (object instance, Attribute[] filter);" />
<MemberSignature Language="ILAsm" Value=".method public hidebysig newslot virtual instance class System.ComponentModel.PropertyDescriptorCollection GetChildProperties(object instance, class System.Attribute[] filter) cil managed" />
<MemberSignature Language="DocId" Value="M:System.ComponentModel.PropertyDescriptor.GetChildProperties(System.Object,System.Attribute[])" />
<MemberSignature Language="VB.NET" Value="Public Overridable Function GetChildProperties (instance As Object, filter As Attribute()) As PropertyDescriptorCollection" />
<MemberSignature Language="C++ CLI" Value="public:&#xA; virtual System::ComponentModel::PropertyDescriptorCollection ^ GetChildProperties(System::Object ^ instance, cli::array &lt;Attribute ^&gt; ^ filter);" />
<MemberSignature Language="F#" Value="abstract member GetChildProperties : obj * Attribute[] -&gt; System.ComponentModel.PropertyDescriptorCollection&#xA;override this.GetChildProperties : obj * Attribute[] -&gt; System.ComponentModel.PropertyDescriptorCollection" Usage="propertyDescriptor.GetChildProperties (instance, filter)" />
<MemberType>Method</MemberType>
<AssemblyInfo>
<AssemblyName>System.ComponentModel.TypeConverter</AssemblyName>
<AssemblyVersion>4.1.0.0</AssemblyVersion>
<AssemblyVersion>4.2.0.0</AssemblyVersion>
<AssemblyVersion>4.2.1.0</AssemblyVersion>
</AssemblyInfo>
<AssemblyInfo>
<AssemblyName>System</AssemblyName>
<AssemblyVersion>1.0.5000.0</AssemblyVersion>
<AssemblyVersion>2.0.0.0</AssemblyVersion>
<AssemblyVersion>2.0.5.0</AssemblyVersion>
<AssemblyVersion>4.0.0.0</AssemblyVersion>
</AssemblyInfo>
<AssemblyInfo>
<AssemblyName>netstandard</AssemblyName>
<AssemblyVersion>2.0.0.0</AssemblyVersion>
<AssemblyVersion>2.1.0.0</AssemblyVersion>
</AssemblyInfo>
<ReturnValue>
<ReturnType>System.ComponentModel.PropertyDescriptorCollection</ReturnType>
</ReturnValue>
<Parameters>
<Parameter Name="instance" Type="System.Object" />
<Parameter Name="filter" Type="System.Attribute[]" />
</Parameters>
<Docs>
<param name="instance">A component to get the properties for.</param>
<param name="filter">An array of type <see cref="T:System.Attribute" /> to use as a filter.</param>
<summary>Returns a <see cref="T:System.ComponentModel.PropertyDescriptorCollection" /> for a given object using a specified array of attributes as a filter.</summary>
<returns>A <see cref="T:System.ComponentModel.PropertyDescriptorCollection" /> with the properties that match the specified attributes for the specified component.</returns>
<remarks>
<format type="text/markdown"><![CDATA[
## Remarks
The properties for the `instance` parameter can differ from the properties of a class, because the site can add or remove properties if the `instance` parameter is sited.
The `filter` parameter can mix <xref:System.Type> and <xref:System.Attribute> objects. Filtering is defined by the following rules:
- A <xref:System.Type> object is treated as a wildcard; it matches any property that has the <xref:System.Type> in its set of attributes.
- If a property does not have an <xref:System.Attribute> of the same class, the property will not be included in the returned array.
- If the attribute is an instance of <xref:System.Attribute>, the property must be an exact match to be included in the returned array.
- If you specify an <xref:System.Attribute> instance and it is the default property, it will be included in the returned array even if there is no instance of the <xref:System.Attribute> in the property.
Generally, child properties should be returned by implementing the <xref:System.ComponentModel.TypeConverter.GetProperties%2A> member of the <xref:System.ComponentModel.TypeConverter> returned from this property.
]]></format>
</remarks>
<altmember cref="T:System.ComponentModel.TypeDescriptor" />
<altmember cref="T:System.ComponentModel.EventDescriptor" />
<altmember cref="T:System.ComponentModel.PropertyDescriptor" />
<altmember cref="T:System.ComponentModel.PropertyDescriptorCollection" />
<altmember cref="T:System.Attribute" />
</Docs>
</Member>
<Member MemberName="GetEditor">
<MemberSignature Language="C#" Value="public virtual object GetEditor (Type editorBaseType);" />
<MemberSignature Language="ILAsm" Value=".method public hidebysig newslot virtual instance object GetEditor(class System.Type editorBaseType) cil managed" />
<MemberSignature Language="DocId" Value="M:System.ComponentModel.PropertyDescriptor.GetEditor(System.Type)" />
<MemberSignature Language="VB.NET" Value="Public Overridable Function GetEditor (editorBaseType As Type) As Object" />
<MemberSignature Language="C++ CLI" Value="public:&#xA; virtual System::Object ^ GetEditor(Type ^ editorBaseType);" />
<MemberSignature Language="F#" Value="abstract member GetEditor : Type -&gt; obj&#xA;override this.GetEditor : Type -&gt; obj" Usage="propertyDescriptor.GetEditor editorBaseType" />
<MemberType>Method</MemberType>
<AssemblyInfo>
<AssemblyName>System.ComponentModel.TypeConverter</AssemblyName>
<AssemblyVersion>4.1.0.0</AssemblyVersion>
<AssemblyVersion>4.2.0.0</AssemblyVersion>
<AssemblyVersion>4.2.1.0</AssemblyVersion>
</AssemblyInfo>
<AssemblyInfo>
<AssemblyName>System</AssemblyName>
<AssemblyVersion>1.0.5000.0</AssemblyVersion>
<AssemblyVersion>2.0.0.0</AssemblyVersion>
<AssemblyVersion>2.0.5.0</AssemblyVersion>
<AssemblyVersion>4.0.0.0</AssemblyVersion>
</AssemblyInfo>
<AssemblyInfo>
<AssemblyName>netstandard</AssemblyName>
<AssemblyVersion>2.0.0.0</AssemblyVersion>
<AssemblyVersion>2.1.0.0</AssemblyVersion>
</AssemblyInfo>
<ReturnValue>
<ReturnType>System.Object</ReturnType>
</ReturnValue>
<Parameters>
<Parameter Name="editorBaseType" Type="System.Type" />
</Parameters>
<Docs>
<param name="editorBaseType">The base type of editor, which is used to differentiate between multiple editors that a property supports.</param>
<summary>Gets an editor of the specified type.</summary>
<returns>An instance of the requested editor type, or <see langword="null" /> if an editor cannot be found.</returns>
<remarks>To be added.</remarks>
</Docs>
</Member>
<Member MemberName="GetHashCode">
<MemberSignature Language="C#" Value="public override int GetHashCode ();" />
<MemberSignature Language="ILAsm" Value=".method public hidebysig virtual instance int32 GetHashCode() cil managed" />
<MemberSignature Language="DocId" Value="M:System.ComponentModel.PropertyDescriptor.GetHashCode" />
<MemberSignature Language="VB.NET" Value="Public Overrides Function GetHashCode () As Integer" />
<MemberSignature Language="C++ CLI" Value="public:&#xA; override int GetHashCode();" />
<MemberSignature Language="F#" Value="override this.GetHashCode : unit -&gt; int" Usage="propertyDescriptor.GetHashCode " />
<MemberType>Method</MemberType>
<AssemblyInfo>
<AssemblyName>System.ComponentModel.TypeConverter</AssemblyName>
<AssemblyVersion>4.1.0.0</AssemblyVersion>
<AssemblyVersion>4.2.0.0</AssemblyVersion>
<AssemblyVersion>4.2.1.0</AssemblyVersion>
</AssemblyInfo>
<AssemblyInfo>
<AssemblyName>System</AssemblyName>
<AssemblyVersion>1.0.5000.0</AssemblyVersion>
<AssemblyVersion>2.0.0.0</AssemblyVersion>
<AssemblyVersion>2.0.5.0</AssemblyVersion>
<AssemblyVersion>4.0.0.0</AssemblyVersion>
</AssemblyInfo>
<AssemblyInfo>
<AssemblyName>netstandard</AssemblyName>
<AssemblyVersion>2.0.0.0</AssemblyVersion>
<AssemblyVersion>2.1.0.0</AssemblyVersion>
</AssemblyInfo>
<ReturnValue>
<ReturnType>System.Int32</ReturnType>
</ReturnValue>
<Parameters />
<Docs>
<summary>Returns the hash code for this object.</summary>
<returns>The hash code for this object.</returns>
<remarks>To be added.</remarks>
</Docs>
</Member>
<Member MemberName="GetInvocationTarget">
<MemberSignature Language="C#" Value="protected override object GetInvocationTarget (Type type, object instance);" />
<MemberSignature Language="ILAsm" Value=".method familyhidebysig virtual instance object GetInvocationTarget(class System.Type type, object instance) cil managed" />
<MemberSignature Language="DocId" Value="M:System.ComponentModel.PropertyDescriptor.GetInvocationTarget(System.Type,System.Object)" />
<MemberSignature Language="C++ CLI" Value="protected:&#xA; override System::Object ^ GetInvocationTarget(Type ^ type, System::Object ^ instance);" />
<MemberSignature Language="F#" Value="override this.GetInvocationTarget : Type * obj -&gt; obj" Usage="propertyDescriptor.GetInvocationTarget (type, instance)" />
<MemberType>Method</MemberType>
<AssemblyInfo>
<AssemblyName>System.ComponentModel.TypeConverter</AssemblyName>
<AssemblyVersion>4.1.0.0</AssemblyVersion>
<AssemblyVersion>4.2.0.0</AssemblyVersion>
<AssemblyVersion>4.2.1.0</AssemblyVersion>
</AssemblyInfo>
<AssemblyInfo>
<AssemblyName>System</AssemblyName>
<AssemblyVersion>2.0.0.0</AssemblyVersion>
<AssemblyVersion>2.0.5.0</AssemblyVersion>
<AssemblyVersion>4.0.0.0</AssemblyVersion>
</AssemblyInfo>
<AssemblyInfo>
<AssemblyName>netstandard</AssemblyName>
<AssemblyVersion>2.0.0.0</AssemblyVersion>
<AssemblyVersion>2.1.0.0</AssemblyVersion>
</AssemblyInfo>
<ReturnValue>
<ReturnType>System.Object</ReturnType>
</ReturnValue>
<Parameters>
<Parameter Name="type" Type="System.Type" Index="0" FrameworkAlternate="netcore-1.0;netcore-1.1;netcore-2.0;netcore-2.1;netcore-2.2;netcore-3.0;netframework-2.0;netframework-3.0;netframework-3.5;netframework-4.0;netframework-4.5;netframework-4.5.1;netframework-4.5.2;netframework-4.6;netframework-4.6.1;netframework-4.6.2;netframework-4.7;netframework-4.7.1;netframework-4.7.2;netframework-4.8;netstandard-2.0;netstandard-2.1;xamarinandroid-7.1;xamarinios-10.8;xamarinmac-3.0" />
<Parameter Name="instance" Type="System.Object" Index="1" FrameworkAlternate="netcore-1.0;netcore-1.1;netcore-2.0;netcore-2.1;netcore-2.2;netcore-3.0;netframework-2.0;netframework-3.0;netframework-3.5;netframework-4.0;netframework-4.5;netframework-4.5.1;netframework-4.5.2;netframework-4.6;netframework-4.6.1;netframework-4.6.2;netframework-4.7;netframework-4.7.1;netframework-4.7.2;netframework-4.8;netstandard-2.0;netstandard-2.1;xamarinandroid-7.1;xamarinios-10.8;xamarinmac-3.0" />
</Parameters>
<Docs>
<param name="type">The <see cref="T:System.Type" /> of the invocation target.</param>
<param name="instance">The potential invocation target.</param>
<summary>This method returns the object that should be used during invocation of members.</summary>
<returns>The <see cref="T:System.Object" /> that should be used during invocation of members.</returns>
<remarks>
<format type="text/markdown"><![CDATA[
## Remarks
Typically, the return value will be the same as the `instance` passed in. If someone associated another object with this instance, or if the instance is a custom type descriptor, the <xref:System.ComponentModel.PropertyDescriptor.GetInvocationTarget%2A> method may return a different value.
]]></format>
</remarks>
</Docs>
</Member>
<Member MemberName="GetTypeFromName">
<MemberSignature Language="C#" Value="protected Type GetTypeFromName (string typeName);" />
<MemberSignature Language="ILAsm" Value=".method familyhidebysig instance class System.Type GetTypeFromName(string typeName) cil managed" />
<MemberSignature Language="DocId" Value="M:System.ComponentModel.PropertyDescriptor.GetTypeFromName(System.String)" />
<MemberSignature Language="VB.NET" Value="Protected Function GetTypeFromName (typeName As String) As Type" />
<MemberSignature Language="C++ CLI" Value="protected:&#xA; Type ^ GetTypeFromName(System::String ^ typeName);" />
<MemberSignature Language="F#" Value="member this.GetTypeFromName : string -&gt; Type" Usage="propertyDescriptor.GetTypeFromName typeName" />
<MemberType>Method</MemberType>
<AssemblyInfo>
<AssemblyName>System.ComponentModel.TypeConverter</AssemblyName>
<AssemblyVersion>4.1.0.0</AssemblyVersion>
<AssemblyVersion>4.2.0.0</AssemblyVersion>
<AssemblyVersion>4.2.1.0</AssemblyVersion>
</AssemblyInfo>
<AssemblyInfo>
<AssemblyName>System</AssemblyName>
<AssemblyVersion>1.0.5000.0</AssemblyVersion>
<AssemblyVersion>2.0.0.0</AssemblyVersion>
<AssemblyVersion>2.0.5.0</AssemblyVersion>
<AssemblyVersion>4.0.0.0</AssemblyVersion>
</AssemblyInfo>
<AssemblyInfo>
<AssemblyName>netstandard</AssemblyName>
<AssemblyVersion>2.0.0.0</AssemblyVersion>
<AssemblyVersion>2.1.0.0</AssemblyVersion>
</AssemblyInfo>
<ReturnValue>
<ReturnType>System.Type</ReturnType>
</ReturnValue>
<Parameters>
<Parameter Name="typeName" Type="System.String" />
</Parameters>
<Docs>
<param name="typeName">The assembly-qualified name of the type to retrieve.</param>
<summary>Returns a type using its name.</summary>
<returns>A <see cref="T:System.Type" /> that matches the given type name, or <see langword="null" /> if a match cannot be found.</returns>
<remarks>
<format type="text/markdown"><![CDATA[
## Remarks
To find the appropriate type, this method first checks the assembly of the type that this <xref:System.ComponentModel.PropertyDescriptor> references. If it does not find the type in the assembly, it calls <xref:System.Type.GetType%2A?displayProperty=nameWithType>.
]]></format>
</remarks>
</Docs>
</Member>
<Member MemberName="GetValue">
<MemberSignature Language="C#" Value="public abstract object GetValue (object component);" />
<MemberSignature Language="ILAsm" Value=".method public hidebysig newslot virtual instance object GetValue(object component) cil managed" />
<MemberSignature Language="DocId" Value="M:System.ComponentModel.PropertyDescriptor.GetValue(System.Object)" />
<MemberSignature Language="VB.NET" Value="Public MustOverride Function GetValue (component As Object) As Object" />
<MemberSignature Language="C++ CLI" Value="public:&#xA; abstract System::Object ^ GetValue(System::Object ^ component);" />
<MemberSignature Language="F#" Value="abstract member GetValue : obj -&gt; obj" Usage="propertyDescriptor.GetValue component" />
<MemberType>Method</MemberType>
<AssemblyInfo>
<AssemblyName>System.ComponentModel.TypeConverter</AssemblyName>
<AssemblyVersion>4.1.0.0</AssemblyVersion>
<AssemblyVersion>4.2.0.0</AssemblyVersion>
<AssemblyVersion>4.2.1.0</AssemblyVersion>
</AssemblyInfo>
<AssemblyInfo>
<AssemblyName>System</AssemblyName>
<AssemblyVersion>1.0.5000.0</AssemblyVersion>
<AssemblyVersion>2.0.0.0</AssemblyVersion>
<AssemblyVersion>2.0.5.0</AssemblyVersion>
<AssemblyVersion>4.0.0.0</AssemblyVersion>
</AssemblyInfo>
<AssemblyInfo>
<AssemblyName>netstandard</AssemblyName>
<AssemblyVersion>2.0.0.0</AssemblyVersion>
<AssemblyVersion>2.1.0.0</AssemblyVersion>
</AssemblyInfo>
<ReturnValue>
<ReturnType>System.Object</ReturnType>
</ReturnValue>
<Parameters>
<Parameter Name="component" Type="System.Object" />
</Parameters>
<Docs>
<param name="component">The component with the property for which to retrieve the value.</param>
<summary>When overridden in a derived class, gets the current value of the property on a component.</summary>
<returns>The value of a property for a given component.</returns>
<remarks>
<format type="text/markdown"><![CDATA[
## Remarks
Typically, this method is implemented through reflection.
This method automatically calls the pre-change method, <xref:System.ComponentModel.Design.IComponentChangeService.OnComponentChanging%2A>, and post-change method, <xref:System.ComponentModel.Design.IComponentChangeService.OnComponentChanged%2A>, of the <xref:System.ComponentModel.Design.IComponentChangeService>.
]]></format>
</remarks>
<block subset="none" type="overrides">
<para>When you override this method, it gets the current value of the property by invoking a "GetMyProperty" method that you need to implement. An exception in that method should pass through.</para>
</block>
</Docs>
</Member>
<Member MemberName="GetValueChangedHandler">
<MemberSignature Language="C#" Value="protected internal EventHandler GetValueChangedHandler (object component);" />
<MemberSignature Language="ILAsm" Value=".method familyorassemblyhidebysig instance class System.EventHandler GetValueChangedHandler(object component) cil managed" />
<MemberSignature Language="DocId" Value="M:System.ComponentModel.PropertyDescriptor.GetValueChangedHandler(System.Object)" />
<MemberSignature Language="VB.NET" Value="Protected Friend Function GetValueChangedHandler (component As Object) As EventHandler" />
<MemberSignature Language="C++ CLI" Value="protected public:&#xA; EventHandler ^ GetValueChangedHandler(System::Object ^ component);" />
<MemberSignature Language="F#" Value="member this.GetValueChangedHandler : obj -&gt; EventHandler" Usage="propertyDescriptor.GetValueChangedHandler component" />
<MemberType>Method</MemberType>
<AssemblyInfo>
<AssemblyName>System.ComponentModel.TypeConverter</AssemblyName>
<AssemblyVersion>4.1.0.0</AssemblyVersion>
<AssemblyVersion>4.2.0.0</AssemblyVersion>
<AssemblyVersion>4.2.1.0</AssemblyVersion>
</AssemblyInfo>
<AssemblyInfo>
<AssemblyName>System</AssemblyName>
<AssemblyVersion>2.0.0.0</AssemblyVersion>
<AssemblyVersion>2.0.5.0</AssemblyVersion>
<AssemblyVersion>4.0.0.0</AssemblyVersion>
</AssemblyInfo>
<AssemblyInfo>
<AssemblyName>netstandard</AssemblyName>
<AssemblyVersion>2.0.0.0</AssemblyVersion>
<AssemblyVersion>2.1.0.0</AssemblyVersion>
</AssemblyInfo>
<ReturnValue>
<ReturnType>System.EventHandler</ReturnType>
</ReturnValue>
<Parameters>
<Parameter Name="component" Type="System.Object" Index="0" FrameworkAlternate="netcore-1.0;netcore-1.1;netcore-2.0;netcore-2.1;netcore-2.2;netcore-3.0;netframework-2.0;netframework-3.0;netframework-3.5;netframework-4.0;netframework-4.5;netframework-4.5.1;netframework-4.5.2;netframework-4.6;netframework-4.6.1;netframework-4.6.2;netframework-4.7;netframework-4.7.1;netframework-4.7.2;netframework-4.8;netstandard-2.0;netstandard-2.1;xamarinandroid-7.1;xamarinios-10.8;xamarinmac-3.0" />
</Parameters>
<Docs>
<param name="component">The component for which to retrieve event handlers.</param>
<summary>Retrieves the current set of <c>ValueChanged</c> event handlers for a specific component</summary>
<returns>A combined multicast event handler, or <see langword="null" /> if no event handlers are currently assigned to <paramref name="component" />.</returns>
<remarks>To be added.</remarks>
</Docs>
</Member>
<Member MemberName="IsLocalizable">
<MemberSignature Language="C#" Value="public virtual bool IsLocalizable { get; }" />
<MemberSignature Language="ILAsm" Value=".property instance bool IsLocalizable" />
<MemberSignature Language="DocId" Value="P:System.ComponentModel.PropertyDescriptor.IsLocalizable" />
<MemberSignature Language="VB.NET" Value="Public Overridable ReadOnly Property IsLocalizable As Boolean" />
<MemberSignature Language="C++ CLI" Value="public:&#xA; virtual property bool IsLocalizable { bool get(); };" />
<MemberSignature Language="F#" Value="member this.IsLocalizable : bool" Usage="System.ComponentModel.PropertyDescriptor.IsLocalizable" />
<MemberType>Property</MemberType>
<AssemblyInfo>
<AssemblyName>System.ComponentModel.TypeConverter</AssemblyName>
<AssemblyVersion>4.1.0.0</AssemblyVersion>
<AssemblyVersion>4.2.0.0</AssemblyVersion>
<AssemblyVersion>4.2.1.0</AssemblyVersion>
</AssemblyInfo>
<AssemblyInfo>
<AssemblyName>System</AssemblyName>
<AssemblyVersion>1.0.5000.0</AssemblyVersion>
<AssemblyVersion>2.0.0.0</AssemblyVersion>
<AssemblyVersion>2.0.5.0</AssemblyVersion>
<AssemblyVersion>4.0.0.0</AssemblyVersion>
</AssemblyInfo>
<AssemblyInfo>
<AssemblyName>netstandard</AssemblyName>
<AssemblyVersion>2.0.0.0</AssemblyVersion>
<AssemblyVersion>2.1.0.0</AssemblyVersion>
</AssemblyInfo>
<ReturnValue>
<ReturnType>System.Boolean</ReturnType>
</ReturnValue>
<Docs>
<summary>Gets a value indicating whether this property should be localized, as specified in the <see cref="T:System.ComponentModel.LocalizableAttribute" />.</summary>
<value>
<see langword="true" /> if the member is marked with the <see cref="T:System.ComponentModel.LocalizableAttribute" /> set to <see langword="true" />; otherwise, <see langword="false" />.</value>
<remarks>
<format type="text/markdown"><![CDATA[
## Remarks
When a property is marked with the <xref:System.ComponentModel.LocalizableAttribute> set to `true` and used in a visual designer, its values are saved in a resource file. If you mark a property with the attribute and then set the property in code, resource files are not used.
]]></format>
</remarks>
<altmember cref="T:System.ComponentModel.LocalizableAttribute" />
</Docs>
</Member>
<Member MemberName="IsReadOnly">
<MemberSignature Language="C#" Value="public abstract bool IsReadOnly { get; }" />
<MemberSignature Language="ILAsm" Value=".property instance bool IsReadOnly" />
<MemberSignature Language="DocId" Value="P:System.ComponentModel.PropertyDescriptor.IsReadOnly" />
<MemberSignature Language="VB.NET" Value="Public MustOverride ReadOnly Property IsReadOnly As Boolean" />
<MemberSignature Language="C++ CLI" Value="public:&#xA; abstract property bool IsReadOnly { bool get(); };" />
<MemberSignature Language="F#" Value="member this.IsReadOnly : bool" Usage="System.ComponentModel.PropertyDescriptor.IsReadOnly" />
<MemberType>Property</MemberType>
<AssemblyInfo>
<AssemblyName>System.ComponentModel.TypeConverter</AssemblyName>
<AssemblyVersion>4.1.0.0</AssemblyVersion>
<AssemblyVersion>4.2.0.0</AssemblyVersion>
<AssemblyVersion>4.2.1.0</AssemblyVersion>
</AssemblyInfo>
<AssemblyInfo>
<AssemblyName>System</AssemblyName>
<AssemblyVersion>1.0.5000.0</AssemblyVersion>
<AssemblyVersion>2.0.0.0</AssemblyVersion>
<AssemblyVersion>2.0.5.0</AssemblyVersion>
<AssemblyVersion>4.0.0.0</AssemblyVersion>
</AssemblyInfo>
<AssemblyInfo>
<AssemblyName>netstandard</AssemblyName>
<AssemblyVersion>2.0.0.0</AssemblyVersion>
<AssemblyVersion>2.1.0.0</AssemblyVersion>
</AssemblyInfo>
<ReturnValue>
<ReturnType>System.Boolean</ReturnType>
</ReturnValue>
<Docs>
<summary>When overridden in a derived class, gets a value indicating whether this property is read-only.</summary>
<value>
<see langword="true" /> if the property is read-only; otherwise, <see langword="false" />.</value>
<remarks>To be added.</remarks>
<altmember cref="T:System.ComponentModel.ReadOnlyAttribute" />
</Docs>
</Member>
<Member MemberName="OnValueChanged">
<MemberSignature Language="C#" Value="protected virtual void OnValueChanged (object component, EventArgs e);" />
<MemberSignature Language="ILAsm" Value=".method familyhidebysig newslot virtual instance void OnValueChanged(object component, class System.EventArgs e) cil managed" />
<MemberSignature Language="DocId" Value="M:System.ComponentModel.PropertyDescriptor.OnValueChanged(System.Object,System.EventArgs)" />
<MemberSignature Language="VB.NET" Value="Protected Overridable Sub OnValueChanged (component As Object, e As EventArgs)" />
<MemberSignature Language="C++ CLI" Value="protected:&#xA; virtual void OnValueChanged(System::Object ^ component, EventArgs ^ e);" />
<MemberSignature Language="F#" Value="abstract member OnValueChanged : obj * EventArgs -&gt; unit&#xA;override this.OnValueChanged : obj * EventArgs -&gt; unit" Usage="propertyDescriptor.OnValueChanged (component, e)" />
<MemberType>Method</MemberType>
<AssemblyInfo>
<AssemblyName>System.ComponentModel.TypeConverter</AssemblyName>
<AssemblyVersion>4.1.0.0</AssemblyVersion>
<AssemblyVersion>4.2.0.0</AssemblyVersion>
<AssemblyVersion>4.2.1.0</AssemblyVersion>
</AssemblyInfo>
<AssemblyInfo>
<AssemblyName>System</AssemblyName>
<AssemblyVersion>1.0.5000.0</AssemblyVersion>
<AssemblyVersion>2.0.0.0</AssemblyVersion>
<AssemblyVersion>2.0.5.0</AssemblyVersion>
<AssemblyVersion>4.0.0.0</AssemblyVersion>
</AssemblyInfo>
<AssemblyInfo>
<AssemblyName>netstandard</AssemblyName>
<AssemblyVersion>2.0.0.0</AssemblyVersion>
<AssemblyVersion>2.1.0.0</AssemblyVersion>
</AssemblyInfo>
<ReturnValue>
<ReturnType>System.Void</ReturnType>
</ReturnValue>
<Parameters>
<Parameter Name="component" Type="System.Object" />
<Parameter Name="e" Type="System.EventArgs" />
</Parameters>
<Docs>
<param name="component">The object that raises the event.</param>
<param name="e">An <see cref="T:System.EventArgs" /> that contains the event data.</param>
<summary>Raises the <c>ValueChanged</c> event that you implemented.</summary>
<remarks>
<format type="text/markdown"><![CDATA[
## Remarks
This method should be called by your property descriptor implementation when the property value has changed.
]]></format>
</remarks>
</Docs>
</Member>
<Member MemberName="PropertyType">
<MemberSignature Language="C#" Value="public abstract Type PropertyType { get; }" />
<MemberSignature Language="ILAsm" Value=".property instance class System.Type PropertyType" />
<MemberSignature Language="DocId" Value="P:System.ComponentModel.PropertyDescriptor.PropertyType" />
<MemberSignature Language="VB.NET" Value="Public MustOverride ReadOnly Property PropertyType As Type" />
<MemberSignature Language="C++ CLI" Value="public:&#xA; abstract property Type ^ PropertyType { Type ^ get(); };" />
<MemberSignature Language="F#" Value="member this.PropertyType : Type" Usage="System.ComponentModel.PropertyDescriptor.PropertyType" />
<MemberType>Property</MemberType>
<AssemblyInfo>
<AssemblyName>System.ComponentModel.TypeConverter</AssemblyName>
<AssemblyVersion>4.1.0.0</AssemblyVersion>
<AssemblyVersion>4.2.0.0</AssemblyVersion>
<AssemblyVersion>4.2.1.0</AssemblyVersion>
</AssemblyInfo>
<AssemblyInfo>
<AssemblyName>System</AssemblyName>
<AssemblyVersion>1.0.5000.0</AssemblyVersion>
<AssemblyVersion>2.0.0.0</AssemblyVersion>
<AssemblyVersion>2.0.5.0</AssemblyVersion>
<AssemblyVersion>4.0.0.0</AssemblyVersion>
</AssemblyInfo>
<AssemblyInfo>
<AssemblyName>netstandard</AssemblyName>
<AssemblyVersion>2.0.0.0</AssemblyVersion>
<AssemblyVersion>2.1.0.0</AssemblyVersion>
</AssemblyInfo>
<ReturnValue>
<ReturnType>System.Type</ReturnType>
</ReturnValue>
<Docs>
<summary>When overridden in a derived class, gets the type of the property.</summary>
<value>A <see cref="T:System.Type" /> that represents the type of the property.</value>
<remarks>
<format type="text/markdown"><![CDATA[
## Remarks
Typically, this property is implemented through reflection.
]]></format>
</remarks>
</Docs>
</Member>
<Member MemberName="RemoveValueChanged">
<MemberSignature Language="C#" Value="public virtual void RemoveValueChanged (object component, EventHandler handler);" />
<MemberSignature Language="ILAsm" Value=".method public hidebysig newslot virtual instance void RemoveValueChanged(object component, class System.EventHandler handler) cil managed" />
<MemberSignature Language="DocId" Value="M:System.ComponentModel.PropertyDescriptor.RemoveValueChanged(System.Object,System.EventHandler)" />
<MemberSignature Language="VB.NET" Value="Public Overridable Sub RemoveValueChanged (component As Object, handler As EventHandler)" />
<MemberSignature Language="C++ CLI" Value="public:&#xA; virtual void RemoveValueChanged(System::Object ^ component, EventHandler ^ handler);" />
<MemberSignature Language="F#" Value="abstract member RemoveValueChanged : obj * EventHandler -&gt; unit&#xA;override this.RemoveValueChanged : obj * EventHandler -&gt; unit" Usage="propertyDescriptor.RemoveValueChanged (component, handler)" />
<MemberType>Method</MemberType>
<AssemblyInfo>
<AssemblyName>System.ComponentModel.TypeConverter</AssemblyName>
<AssemblyVersion>4.1.0.0</AssemblyVersion>
<AssemblyVersion>4.2.0.0</AssemblyVersion>
<AssemblyVersion>4.2.1.0</AssemblyVersion>
</AssemblyInfo>
<AssemblyInfo>
<AssemblyName>System</AssemblyName>
<AssemblyVersion>1.0.5000.0</AssemblyVersion>
<AssemblyVersion>2.0.0.0</AssemblyVersion>
<AssemblyVersion>2.0.5.0</AssemblyVersion>
<AssemblyVersion>4.0.0.0</AssemblyVersion>
</AssemblyInfo>
<AssemblyInfo>
<AssemblyName>netstandard</AssemblyName>
<AssemblyVersion>2.0.0.0</AssemblyVersion>
<AssemblyVersion>2.1.0.0</AssemblyVersion>
</AssemblyInfo>
<ReturnValue>
<ReturnType>System.Void</ReturnType>
</ReturnValue>
<Parameters>
<Parameter Name="component" Type="System.Object" />
<Parameter Name="handler" Type="System.EventHandler" />
</Parameters>
<Docs>
<param name="component">The component to remove the handler for.</param>
<param name="handler">The delegate to remove as a listener.</param>
<summary>Enables other objects to be notified when this property changes.</summary>
<remarks>To be added.</remarks>
<exception cref="T:System.ArgumentNullException">
<paramref name="component" /> or <paramref name="handler" /> is <see langword="null" />.</exception>
</Docs>
</Member>
<Member MemberName="ResetValue">
<MemberSignature Language="C#" Value="public abstract void ResetValue (object component);" />
<MemberSignature Language="ILAsm" Value=".method public hidebysig newslot virtual instance void ResetValue(object component) cil managed" />
<MemberSignature Language="DocId" Value="M:System.ComponentModel.PropertyDescriptor.ResetValue(System.Object)" />
<MemberSignature Language="VB.NET" Value="Public MustOverride Sub ResetValue (component As Object)" />
<MemberSignature Language="C++ CLI" Value="public:&#xA; abstract void ResetValue(System::Object ^ component);" />
<MemberSignature Language="F#" Value="abstract member ResetValue : obj -&gt; unit" Usage="propertyDescriptor.ResetValue component" />
<MemberType>Method</MemberType>
<AssemblyInfo>
<AssemblyName>System.ComponentModel.TypeConverter</AssemblyName>
<AssemblyVersion>4.1.0.0</AssemblyVersion>
<AssemblyVersion>4.2.0.0</AssemblyVersion>
<AssemblyVersion>4.2.1.0</AssemblyVersion>
</AssemblyInfo>
<AssemblyInfo>
<AssemblyName>System</AssemblyName>
<AssemblyVersion>1.0.5000.0</AssemblyVersion>
<AssemblyVersion>2.0.0.0</AssemblyVersion>
<AssemblyVersion>2.0.5.0</AssemblyVersion>
<AssemblyVersion>4.0.0.0</AssemblyVersion>
</AssemblyInfo>
<AssemblyInfo>
<AssemblyName>netstandard</AssemblyName>
<AssemblyVersion>2.0.0.0</AssemblyVersion>
<AssemblyVersion>2.1.0.0</AssemblyVersion>
</AssemblyInfo>
<ReturnValue>
<ReturnType>System.Void</ReturnType>
</ReturnValue>
<Parameters>
<Parameter Name="component" Type="System.Object" />
</Parameters>
<Docs>
<param name="component">The component with the property value that is to be reset to the default value.</param>
<summary>When overridden in a derived class, resets the value for this property of the component to the default value.</summary>
<remarks>
<format type="text/markdown"><![CDATA[
## Remarks
Typically, this method is implemented through reflection.
This method determines the value to reset the property to in the following order of precedence:
1. There is a shadowed property for this property.
2. There is a <xref:System.ComponentModel.DefaultValueAttribute> for this property.
3. There is a "ResetMyProperty" method that you have implemented, where "MyProperty" is the name of the property you pass to it.
This method creates a <xref:System.ComponentModel.Design.DesignerTransaction> automatically in the following order:
1. The method calls the <xref:System.ComponentModel.Design.IDesignerHost.CreateTransaction%2A?displayProperty=nameWithType> method to create a new <xref:System.ComponentModel.Design.DesignerTransaction> to represent the changes.
2. The method calls the <xref:System.ComponentModel.Design.IComponentChangeService.OnComponentChanging%2A?displayProperty=nameWithType> method to indicate that the transaction has begun and the changes are about to occur.
3. The method resets the property to the value determined by this method's checking order.
4. The method calls the <xref:System.ComponentModel.Design.IComponentChangeService.OnComponentChanged%2A?displayProperty=nameWithType> method to indicate that the changes have occurred.
5. The method calls <xref:System.ComponentModel.Design.DesignerTransaction.Commit%2A?displayProperty=nameWithType> to indicate that the transaction is completed.
The purpose of the transaction is to support `Undo` and `Redo` functionality.
]]></format>
</remarks>
<block subset="none" type="overrides">
<para>When overridden in a derived class, this method looks for a <see cref="T:System.ComponentModel.DefaultValueAttribute" />. If it finds one, it sets the value of the property to the <see cref="T:System.ComponentModel.DefaultValueAttribute" /> it found. If this method cannot find a <see cref="T:System.ComponentModel.DefaultValueAttribute" />, it looks for a "ResetMyProperty" method that you need to implement. If this is found, the <see cref="M:System.ComponentModel.PropertyDescriptor.ResetValue(System.Object)" /> method invokes it. If <see cref="M:System.ComponentModel.PropertyDescriptor.ResetValue(System.Object)" /> cannot find a <see cref="T:System.ComponentModel.DefaultValueAttribute" /> or a "ResetMyProperty" method that you implemented, it does not perform an operation.</para>
</block>
<altmember cref="T:System.ComponentModel.PropertyDescriptor" />
</Docs>
</Member>
<Member MemberName="SerializationVisibility">
<MemberSignature Language="C#" Value="public System.ComponentModel.DesignerSerializationVisibility SerializationVisibility { get; }" />
<MemberSignature Language="ILAsm" Value=".property instance valuetype System.ComponentModel.DesignerSerializationVisibility SerializationVisibility" />
<MemberSignature Language="DocId" Value="P:System.ComponentModel.PropertyDescriptor.SerializationVisibility" />
<MemberSignature Language="VB.NET" Value="Public ReadOnly Property SerializationVisibility As DesignerSerializationVisibility" />
<MemberSignature Language="C++ CLI" Value="public:&#xA; property System::ComponentModel::DesignerSerializationVisibility SerializationVisibility { System::ComponentModel::DesignerSerializationVisibility get(); };" />
<MemberSignature Language="F#" Value="member this.SerializationVisibility : System.ComponentModel.DesignerSerializationVisibility" Usage="System.ComponentModel.PropertyDescriptor.SerializationVisibility" />
<MemberType>Property</MemberType>
<AssemblyInfo>
<AssemblyName>System.ComponentModel.TypeConverter</AssemblyName>
<AssemblyVersion>4.1.0.0</AssemblyVersion>
<AssemblyVersion>4.2.0.0</AssemblyVersion>
<AssemblyVersion>4.2.1.0</AssemblyVersion>
</AssemblyInfo>
<AssemblyInfo>
<AssemblyName>System</AssemblyName>
<AssemblyVersion>1.0.5000.0</AssemblyVersion>
<AssemblyVersion>2.0.0.0</AssemblyVersion>
<AssemblyVersion>2.0.5.0</AssemblyVersion>
<AssemblyVersion>4.0.0.0</AssemblyVersion>
</AssemblyInfo>
<AssemblyInfo>
<AssemblyName>netstandard</AssemblyName>
<AssemblyVersion>2.0.0.0</AssemblyVersion>
<AssemblyVersion>2.1.0.0</AssemblyVersion>
</AssemblyInfo>
<ReturnValue>
<ReturnType>System.ComponentModel.DesignerSerializationVisibility</ReturnType>
</ReturnValue>
<Docs>
<summary>Gets a value indicating whether this property should be serialized, as specified in the <see cref="T:System.ComponentModel.DesignerSerializationVisibilityAttribute" />.</summary>
<value>One of the <see cref="T:System.ComponentModel.DesignerSerializationVisibility" /> enumeration values that specifies whether this property should be serialized.</value>
<remarks>To be added.</remarks>
<altmember cref="T:System.ComponentModel.DesignerSerializationVisibilityAttribute" />
<altmember cref="T:System.ComponentModel.DesignerSerializationVisibility" />
</Docs>
</Member>
<Member MemberName="SetValue">
<MemberSignature Language="C#" Value="public abstract void SetValue (object component, object value);" />
<MemberSignature Language="ILAsm" Value=".method public hidebysig newslot virtual instance void SetValue(object component, object value) cil managed" />
<MemberSignature Language="DocId" Value="M:System.ComponentModel.PropertyDescriptor.SetValue(System.Object,System.Object)" />
<MemberSignature Language="VB.NET" Value="Public MustOverride Sub SetValue (component As Object, value As Object)" />
<MemberSignature Language="C++ CLI" Value="public:&#xA; abstract void SetValue(System::Object ^ component, System::Object ^ value);" />
<MemberSignature Language="F#" Value="abstract member SetValue : obj * obj -&gt; unit" Usage="propertyDescriptor.SetValue (component, value)" />
<MemberType>Method</MemberType>
<AssemblyInfo>
<AssemblyName>System.ComponentModel.TypeConverter</AssemblyName>
<AssemblyVersion>4.1.0.0</AssemblyVersion>
<AssemblyVersion>4.2.0.0</AssemblyVersion>
<AssemblyVersion>4.2.1.0</AssemblyVersion>
</AssemblyInfo>
<AssemblyInfo>
<AssemblyName>System</AssemblyName>
<AssemblyVersion>1.0.5000.0</AssemblyVersion>
<AssemblyVersion>2.0.0.0</AssemblyVersion>
<AssemblyVersion>2.0.5.0</AssemblyVersion>
<AssemblyVersion>4.0.0.0</AssemblyVersion>
</AssemblyInfo>
<AssemblyInfo>
<AssemblyName>netstandard</AssemblyName>
<AssemblyVersion>2.0.0.0</AssemblyVersion>
<AssemblyVersion>2.1.0.0</AssemblyVersion>
</AssemblyInfo>
<ReturnValue>
<ReturnType>System.Void</ReturnType>
</ReturnValue>
<Parameters>
<Parameter Name="component" Type="System.Object" />
<Parameter Name="value" Type="System.Object" />
</Parameters>
<Docs>
<param name="component">The component with the property value that is to be set.</param>
<param name="value">The new value.</param>
<summary>When overridden in a derived class, sets the value of the component to a different value.</summary>
<remarks>
<format type="text/markdown"><![CDATA[
## Remarks
Typically, this method is implemented through reflection.
This method creates a <xref:System.ComponentModel.Design.DesignerTransaction> automatically in the following order:
1. The method calls the <xref:System.ComponentModel.Design.IDesignerHost.CreateTransaction%2A?displayProperty=nameWithType> method to create a new <xref:System.ComponentModel.Design.DesignerTransaction> to represent the changes.
2. The method calls the <xref:System.ComponentModel.Design.IComponentChangeService.OnComponentChanging%2A?displayProperty=nameWithType> method to indicate that the transaction has begun and the changes are about to occur.
3. The method resets the property to the value determined by this method's checking order.
4. The method calls the <xref:System.ComponentModel.Design.IComponentChangeService.OnComponentChanged%2A?displayProperty=nameWithType> method to indicate that the changes have occurred.
5. The method calls <xref:System.ComponentModel.Design.DesignerTransaction.Commit%2A?displayProperty=nameWithType> to indicate that the transaction is complete.
The purpose of the transaction is to support `Undo` and `Redo` functionality.
]]></format>
</remarks>
<block subset="none" type="overrides">
<para>When you override this method, it should set the value of the property by invoking the appropriate "SetMyProperty" method that you need to implement. If the value specified is not valid, the component should throw an exception, which is passed up. You should design the property so that a "GetMyProperty" method (that you have implemented) following a "SetMyProperty" method returns the value passed in when the "SetMyProperty" method does not throw an exception.</para>
</block>
<altmember cref="T:System.ComponentModel.PropertyDescriptor" />
</Docs>
</Member>
<Member MemberName="ShouldSerializeValue">
<MemberSignature Language="C#" Value="public abstract bool ShouldSerializeValue (object component);" />
<MemberSignature Language="ILAsm" Value=".method public hidebysig newslot virtual instance bool ShouldSerializeValue(object component) cil managed" />
<MemberSignature Language="DocId" Value="M:System.ComponentModel.PropertyDescriptor.ShouldSerializeValue(System.Object)" />
<MemberSignature Language="VB.NET" Value="Public MustOverride Function ShouldSerializeValue (component As Object) As Boolean" />
<MemberSignature Language="C++ CLI" Value="public:&#xA; abstract bool ShouldSerializeValue(System::Object ^ component);" />
<MemberSignature Language="F#" Value="abstract member ShouldSerializeValue : obj -&gt; bool" Usage="propertyDescriptor.ShouldSerializeValue component" />
<MemberType>Method</MemberType>
<AssemblyInfo>
<AssemblyName>System.ComponentModel.TypeConverter</AssemblyName>
<AssemblyVersion>4.1.0.0</AssemblyVersion>
<AssemblyVersion>4.2.0.0</AssemblyVersion>
<AssemblyVersion>4.2.1.0</AssemblyVersion>
</AssemblyInfo>
<AssemblyInfo>
<AssemblyName>System</AssemblyName>
<AssemblyVersion>1.0.5000.0</AssemblyVersion>
<AssemblyVersion>2.0.0.0</AssemblyVersion>
<AssemblyVersion>2.0.5.0</AssemblyVersion>
<AssemblyVersion>4.0.0.0</AssemblyVersion>
</AssemblyInfo>
<AssemblyInfo>
<AssemblyName>netstandard</AssemblyName>
<AssemblyVersion>2.0.0.0</AssemblyVersion>
<AssemblyVersion>2.1.0.0</AssemblyVersion>
</AssemblyInfo>
<ReturnValue>
<ReturnType>System.Boolean</ReturnType>
</ReturnValue>
<Parameters>
<Parameter Name="component" Type="System.Object" />
</Parameters>
<Docs>
<param name="component">The component with the property to be examined for persistence.</param>
<summary>When overridden in a derived class, determines a value indicating whether the value of this property needs to be persisted.</summary>
<returns>
<see langword="true" /> if the property should be persisted; otherwise, <see langword="false" />.</returns>
<remarks>
<format type="text/markdown"><![CDATA[
## Remarks
Typically, this method is implemented through reflection.
]]></format>
</remarks>
<block subset="none" type="overrides">
<para>When overridden in a derived class, this method returns <see langword="true" /> if the current value of the property is different from its default value. It looks for a default value by first looking for a <see cref="T:System.ComponentModel.DefaultValueAttribute" />. If the method finds this attribute, it compares the value of the attribute with the property's current value. If this method cannot find a <see cref="T:System.ComponentModel.DefaultValueAttribute" />, it looks for a "ShouldSerializeMyProperty" method that you need to implement. If it is found, <see cref="M:System.ComponentModel.PropertyDescriptor.ShouldSerializeValue(System.Object)" /> invokes it. If this method cannot find a <see cref="T:System.ComponentModel.DefaultValueAttribute" /> or a "ShouldSerializeMyProperty" method, it cannot create optimizations and it returns <see langword="true" />.
<block subset="none" type="note"><para>
The <see cref="T:System.ComponentModel.Design.ComponentDesigner" /> class implements special serialization logic for inherited components. For more information, see <see cref="T:System.ComponentModel.Design.ComponentDesigner" />.
</para></block></para>
</block>
<altmember cref="T:System.ComponentModel.Design.ComponentDesigner" />
</Docs>
</Member>
<Member MemberName="SupportsChangeEvents">
<MemberSignature Language="C#" Value="public virtual bool SupportsChangeEvents { get; }" />
<MemberSignature Language="ILAsm" Value=".property instance bool SupportsChangeEvents" />
<MemberSignature Language="DocId" Value="P:System.ComponentModel.PropertyDescriptor.SupportsChangeEvents" />
<MemberSignature Language="VB.NET" Value="Public Overridable ReadOnly Property SupportsChangeEvents As Boolean" />
<MemberSignature Language="C++ CLI" Value="public:&#xA; virtual property bool SupportsChangeEvents { bool get(); };" />
<MemberSignature Language="F#" Value="member this.SupportsChangeEvents : bool" Usage="System.ComponentModel.PropertyDescriptor.SupportsChangeEvents" />
<MemberType>Property</MemberType>
<AssemblyInfo>
<AssemblyName>System.ComponentModel.TypeConverter</AssemblyName>
<AssemblyVersion>4.1.0.0</AssemblyVersion>
<AssemblyVersion>4.2.0.0</AssemblyVersion>
<AssemblyVersion>4.2.1.0</AssemblyVersion>
</AssemblyInfo>
<AssemblyInfo>
<AssemblyName>System</AssemblyName>
<AssemblyVersion>2.0.0.0</AssemblyVersion>
<AssemblyVersion>2.0.5.0</AssemblyVersion>
<AssemblyVersion>4.0.0.0</AssemblyVersion>
</AssemblyInfo>
<AssemblyInfo>
<AssemblyName>netstandard</AssemblyName>
<AssemblyVersion>2.0.0.0</AssemblyVersion>
<AssemblyVersion>2.1.0.0</AssemblyVersion>
</AssemblyInfo>
<ReturnValue>
<ReturnType>System.Boolean</ReturnType>
</ReturnValue>
<Docs>
<summary>Gets a value indicating whether value change notifications for this property may originate from outside the property descriptor.</summary>
<value>
<see langword="true" /> if value change notifications may originate from outside the property descriptor; otherwise, <see langword="false" />.</value>
<remarks>
<format type="text/markdown"><![CDATA[
## Remarks
The <xref:System.ComponentModel.PropertyDescriptor.SupportsChangeEvents%2A> property indicates whether value change notifications for this property may originate from outside the property descriptor, such as from the component itself, or whether notifications will only originate from direct calls made to the <xref:System.ComponentModel.PropertyDescriptor.SetValue%2A> method. For example, the component may implement the <xref:System.ComponentModel.INotifyPropertyChanged> interface, or may have an explicit `name.Changed` event for this property.
]]></format>
</remarks>
</Docs>
</Member>
</Members>
</Type>
You can’t perform that action at this time.