<PackageReference Include="NETStandard.Library" Version="2.0.2" />

System.ComponentModel.PropertyDescriptor

public abstract class PropertyDescriptor : MemberDescriptor
namespace System.ComponentModel { public abstract class PropertyDescriptor : MemberDescriptor { public abstract Type ComponentType { get; } public virtual TypeConverter Converter { get; } public virtual bool IsLocalizable { get; } public abstract bool IsReadOnly { get; } public abstract Type PropertyType { get; } public DesignerSerializationVisibility SerializationVisibility { get; } public virtual bool SupportsChangeEvents { get; } protected PropertyDescriptor(MemberDescriptor descr); protected PropertyDescriptor(MemberDescriptor descr, Attribute[] attrs); protected PropertyDescriptor(string name, Attribute[] attrs); public virtual void AddValueChanged(object component, EventHandler handler); public abstract bool CanResetValue(object component); protected object CreateInstance(Type type); public PropertyDescriptorCollection GetChildProperties(); public PropertyDescriptorCollection GetChildProperties(Attribute[] filter); public PropertyDescriptorCollection GetChildProperties(object instance); public virtual PropertyDescriptorCollection GetChildProperties(object instance, Attribute[] filter); public virtual object GetEditor(Type editorBaseType); protected Type GetTypeFromName(string typeName); public abstract object GetValue(object component); protected virtual void OnValueChanged(object component, EventArgs e); public virtual void RemoveValueChanged(object component, EventHandler handler); public abstract void ResetValue(object component); public abstract void SetValue(object component, object value); public abstract bool ShouldSerializeValue(object component); } }