C#命名空间System.ComponentModel属性方法汇总

1,System.ComponentModel

System.ComponentModel 命名空间提供用于实现组件和控件的运行时和设计时行为的类。 此命名空间包括用于特性和类型转换器的实现、数据源绑定和组件授权的基类和接口。

C# 语法优美,特性注释是其中一项,其使用特点如下图。

笔者在学习 ASP.NET Core 时,有很多大神的代码很多地方使用的特性,特性种类很多,o((⊙﹏⊙))o. 有时会很懵逼。所以笔者根据微软的资料整理一下(大部分Copy官方文档)。

此命名空间中的类将划分为以下类别:

  • 核心组件类。 Component, IComponent, Container,和IContainer类。
  • 组件授权。 License, LicenseManager, LicenseProvider,和LicenseProviderAttribute类。
  • 特性。  Attribute 类。
  • 说明符和持久性。 TypeDescriptor, EventDescriptor,和PropertyDescriptor类。
  • 类型转换器。  TypeConverter 类。

之前笔者把一些东西混肴了,类型 [Required] [MaxLength] 这些特性,本质是类,有其构造函数、方法。

ComponentModel 命名空间提供了 System.ComponentModel.DataAnnotations,此命名空间包含数据操作的特性。

后面会详细解释。

2,特性命名空间与常用类

[Required] [MaxLength] 等特性,存储在命名空间System.ComponentModel.DataAnnotations 中,笔者列出其他命名空间:

命名空间 描述
System.ComponentModel.Design
命名空间包含的类可供开发人员用来为组件生成自定义的设计时行为,以及在设计时配置组件所需的用户界面。

设计时环境提供了使开发人员能够安排组件并配置它们的属性的系统。

某些组件可能需要特定的设计时仅有的行为,才能在设计时环境中正常运行。

同时,提供自定义用户界面来帮助开发人员配置组件或复杂数据类型的值,这可能也非常也用。

在此命名空间中定义的类和接口可用于生成组件的设计时行为、访问设计时服务,以及实现自定义的设计时配置接口。

System.ComponentModel.Composition 此命名空间提供构成托管扩展框架 (MEF) 的类的核心的类
System.ComponentModel.DataAnnotations 命名空间提供定义 ASP.NET MVC 和 ASP.NET 数据控件的类的特性
System.ComponentModel.Design.Data 命名空间包含的类可用于为数据相关的组件生成自定义设计时行为
System.ComponentModel.Design.Serialization 命名空间提供在设计时对序列化进行自定义和控制的类型
System.ComponentModel.Composition.Hosting 命名空间提供 Managed Extensibility Framework (MEF) 类型,这些类型对可扩展应用程序的开发人员或宿主都很有用
System.ComponentModel.DataAnnotations.Schema 命名空间为用于定义 ASP.NET MVC 和 ASP.NET 数据控件的元数据的类的特性提供支持
System.ComponentModel.Composition.Primitives 此命名空间提供作为 MEF 编程模型基础的基元类型
System.ComponentModel.Composition.Registration 命名空间包含启用可管理的扩展性框架 (MEF)部件的基于规则的配置的类型
System.ComponentModel.Composition.ReflectionModel 命名空间为使用基于反射的编程模型的设计者提供 Managed Extensibility Framework (MEF) 类型

以上内容不能在 System.ComponentModel 命名空间找到,他们都是独立的命名空间。

下面笔者把 System.ComponentModel.DataAnnotations 的特性都列举出来。

3,System.ComponentModel.DataAnnotations

官方的描述是命名空间提供定义 ASP.NET MVC 和 ASP.NET 数据控件的类的特性。

这个是我们在网站开发时经常遇到的。在实际使用中,我们可以在控制台、Winform 等项目的 Model 中加此特性,控制属性输入。然而并不是说在控制台也是也能生效,只是能够用到。后面会解释到。

此命名空间的特性包含 [Required]、[Response]、[Phone] 等 ASP.NET Core 数据验证常用的特性。

AssociatedMetadataTypeTypeDescriptionProvider
通过添加在关联类中定义的特性和属性信息,从而扩展某个类的元数据信息。

AssociationAttribute
指定实体成员表示数据关系(如外键关系)。

BindableTypeAttribute
指定类型是否通常用于绑定。

CompareAttribute
提供用于比较两个属性的特性。

ConcurrencyCheckAttribute
指定属性参与乐观并发检查。

CreditCardAttribute
指定数据字段值是信用卡号。

CustomValidationAttribute
指定用于验证属性或类实例的自定义验证方法。

DataTypeAttribute
指定要与数据字段关联的其他类型的名称。

DisplayAttribute
提供允许为实体分部类的类型和成员指定可本地化字符串的通用特性。

DisplayColumnAttribute
指定作为外键列显示在被引用表中的列。

DisplayFormatAttribute
指定 ASP.NET 动态数据如何显示数据字段以及如何设置数据字段的格式。

EditableAttribute
指示数据字段是否可编辑。

EmailAddressAttribute
验证电子邮件地址。

EnumDataTypeAttribute
启用 .NET Framework 枚举,以映射到数据列。

FileExtensionsAttribute
验证文件扩展名。

FilterUIHintAttribute
表示用于指定列的筛选行为的特性。

KeyAttribute
表示唯一标识实体的一个或多个属性。

MaxLengthAttribute
指定属性中允许的数组或字符串数据的最大长度。

MetadataTypeAttribute
指定要与数据模型类关联的元数据类。

MinLengthAttribute
指定属性中允许的数组或字符串数据的最小长度。

PhoneAttribute
指定数据字段值是格式标准的电话号码。

RangeAttribute
为数据字段的值指定数值范围约束。

RegularExpressionAttribute
指定 ASP.NET 动态数据中的数据字段值必须与指定的正则表达式匹配。

RequiredAttribute
指定数据字段值是必需的。

ScaffoldColumnAttribute
指定类或数据列是否使用基架。

ScaffoldTableAttribute
指定类或数据表是否使用基架。

StringLengthAttribute
指定数据字段中允许的字符的最小长度和最大长度。

TimestampAttribute
列的数据类型指定为行版本。

UIHintAttribute
指定动态数据用来显示数据字段的模板或用户控件。

UrlAttribute
提供 URL 验证。

ValidationAttribute
充当所有验证特性的基类。

ValidationContext
描述执行验证检查的上下文。

ValidationException
表示在使用 ValidationAttribute 类的情况下验证数据字段时发生的异常。

ValidationResult
表示验证请求的结果的容器。

Validator
定义一个帮助器类,在与对象、属性和方法关联的 ValidationAttribute 特性中包含此类时,可使用此类来验证这些项。

使用示例(使用时忽略后面的 Attribute)

using System.ComponentModel.DataAnnotations;

namespace XFAISDK.Model.Response
{
    public class ResponseModel
    {
        [Required]
        public int Code { get; set; }
        public string Result { get; set; }
        public dynamic Data { get; set; }
    }
}

由于 System.ComponentModel.DataAnnotations 命名空间的特性较多,笔者只以 Required 示范。

Required

[Required]指定数据字段值是必需的,用户输入时不能为空。

他有多种使用形式,

属性

使用方法如下

[Required(ErrorMessage = "Title is required.")]
public object Title;

其他属性还有:

AllowEmptyStrings
获取或设置一个值,该值指示是否允许空字符串。

ErrorMessage
获取或设置一条在验证失败的情况下与验证控件关联的错误消息。

(Inherited from ValidationAttribute)

ErrorMessageResourceName

获取或设置错误消息资源的名称,在验证失败的情况下,要使用该名称来查找ErrorMessageResourceType 属性值。

(Inherited from ValidationAttribute)

ErrorMessageResourceType

获取或设置在验证失败的情况下用于查找错误消息的资源类型。

(Inherited from ValidationAttribute)

ErrorMessageString

获取本地化的验证错误消息。

(Inherited from ValidationAttribute)

RequiresValidationContext

获取指示特性是否要求验证上下文的值。

(Inherited from ValidationAttribute)

TypeId

在派生类中实现时,获取此 Attribute 的唯一标识符。

(Inherited from Attribute)

方法

Equals(Object)

返回一个值,该值指示此实例是否与指定的对象相等。

(Inherited from Attribute)

FormatErrorMessage(String)

基于发生错误的数据字段对错误消息应用格式设置。

(Inherited from ValidationAttribute)

GetHashCode()

返回此实例的哈希代码。

(Inherited from Attribute)

GetType()

获取当前实例的 Type。

(Inherited from Object)

GetValidationResult(Object, ValidationContext)

检查指定的值对于当前的验证特性是否有效。

(Inherited from ValidationAttribute)

IsDefaultAttribute()

在派生类中重写时,指示此实例的值是否是派生类的默认值。

(Inherited from Attribute)

IsValid(Object)

检查必填数据字段的值是否不为空。

IsValid(Object, ValidationContext)
根据当前的验证特性来验证指定的值。

(Inherited from ValidationAttribute)

Match(Object)

当在派生类中重写时,返回一个指示此实例是否等于指定对象的值。

(Inherited from Attribute)

MemberwiseClone()

创建当前 Object 的浅表副本。

(Inherited from Object)

ToString()

返回表示当前对象的字符串。

(Inherited from Object)

Validate(Object, String)

验证指定的对象。

(Inherited from ValidationAttribute)

Validate(Object, ValidationContext)

验证指定的对象。

(Inherited from ValidationAttribute)

其方法大多数是继承基类的,使用方法如下

public class ResponseModel
    {
        RequiredAttribute RequiredTest = new RequiredAttribute();
        public string TestA(object a)
        {
            if (RequiredTest.Match(a))
            {
                return "true";
            }
            return "false";
        }
        [Required()]
        public int Code { get; set; }
        public string Result { get; set; }
        public dynamic Data { get; set; }
    }
}

笔者暂时不清楚特性的方法应用场景,只了解到 特性的属性 的使用。

其他命名空间可以到官方文档查看。

4,Classes 类


AddingNewEventArgs


为 AddingNew 事件提供数据。


AmbientValueAttribute


指定要传递给属性的值,以使该属性从另一个源中获取其值。 这称为“环境”。 此类不能被继承。


ArrayConverter


提供将 Array 对象与其他各种表示形式相互转换的类型转换器。


AsyncCompletedEventArgs


为 MethodNameCompleted 事件提供数据。


AsyncOperation


跟踪异步操作的生存期。


AsyncOperationManager


提供支持异步方法调用的类的并发管理。 此类不能被继承。


AttributeCollection


表示特性的集合。


AttributeProviderAttribute


启用特性重定向。 此类不能被继承。


BackgroundWorker


在单独的线程上执行操作。


BaseNumberConverter


提供非浮点数字类型的基类型转换器。


BindableAttribute


指定成员是否通常用于绑定。 此类不能被继承。


BindingList<T>


提供支持数据绑定的泛型集合。


BooleanConverter


提供将 Boolean 对象与其他各种表示形式相互转换的类型转换器。


BrowsableAttribute


指定某一属性或事件是否应在“属性”窗口中显示。


ByteConverter


提供用于在 8 位无符号整数对象与其他各种表示形式之间实现相互转换的类型转换器。


CancelEventArgs


为可取消的事件提供数据。


CategoryAttribute


指定当属性或事件显示在一个设置为“按分类顺序”模式的 PropertyGrid 控件中时,用于对属性或事件分组的类别的名称。


CharConverter


提供用于在 Unicode 字符对象与其他各种表示形式之间实现相互转换的类型转换器。


CollectionChangeEventArgs


为 CollectionChanged 事件提供数据。


CollectionConverter


提供用于在集合对象与其他各种表示形式之间实现相互转换的类型转换器。


ComplexBindingPropertiesAttribute


指定一个组件的数据源和数据成员属性,该组件支持复杂数据绑定。 此类不能被继承。


Component


提供 IComponent 接口的基实现并启用应用程序之间的对象共享。


ComponentCollection


为 IComponent 对象的集合提供只读容器。


ComponentConverter


提供将组件与各种其他表示形式相互转换的类型转换器。


ComponentEditor


提供自定义组件编辑器的基类。


ComponentResourceManager


提供组件或对象的枚举资源的简单功能。 ComponentResourceManager 类是一个 ResourceManager。


Container


封装零个或更多个组件。


ContainerFilterService


为容器筛选服务提供基类。


CultureInfoConverter


提供将 CultureInfo 对象与其他各种表示形式相互转换的类型转换器。


CurrentChangedEventManager


提供 WeakEventManager 实现,以便可以使用“弱事件侦听器”模式附加 CurrentChanged 事件的侦听器。


CurrentChangingEventArgs


提供 CurrentChanging 事件的有关信息。


CurrentChangingEventManager


提供 WeakEventManager 实现,以便可以使用“弱事件侦听器”模式附加 CurrentChanging 事件的侦听器。


CustomTypeDescriptor


提供 ICustomTypeDescriptor 接口的简单默认实现。


DataErrorsChangedEventArgs


为 ErrorsChanged 事件提供数据。


DataObjectAttribute


将某一类型标识为适合绑定到 ObjectDataSource 对象的对象。 此类不能被继承。


DataObjectFieldAttribute


为表示数据字段的属性提供元数据。 此类不能被继承。


DataObjectMethodAttribute


标识由某一类型公开的数据操作方法,该方法所执行的操作类型以及该方法是否是默认的数据方法。 此类不能被继承。


DateTimeConverter


提供将 DateTime 对象与其他各种表示形式相互转换的类型转换器。


DateTimeOffsetConverter


提供将 DateTimeOffset 结构与其他各种表示形式相互转换的类型转换器。


DecimalConverter


提供将 Decimal 对象与其他各种表示形式相互转换的类型转换器。


DefaultBindingPropertyAttribute


指定组件的默认绑定属性。 此类不能被继承。


DefaultEventAttribute


指定组件的默认事件。


DefaultPropertyAttribute


指定组件的默认属性。


DefaultValueAttribute


指定属性的默认值。


DependencyPropertyDescriptor


提供用于说明依赖属性的其他属性特征的 PropertyDescriptor 的扩展。


DescriptionAttribute


指定属性或事件的说明。


DesignerAttribute


指定用于为组件实现设计时服务的类。


DesignerCategoryAttribute


指定类设计器属于某一类别。


DesignerProperties


提供用于与设计器进行通信的附加属性。


DesignerSerializationVisibilityAttribute


指定在设计时序列化组件上的属性时所使用的持久性类型。


DesignOnlyAttribute


指定某个属性是否只能在设计时设置。


DesignTimeVisibleAttribute


DesignTimeVisibleAttribute 标记组件的可见性。 如果存在 Yes,可视化设计器即可在设计器上显示该组件。


DisplayNameAttribute


指定属性、事件或不采用任何参数的公共 void 方法的显示名称。


DoubleConverter


提供将双精度浮点数字对象与各种其他表示形式相互转换的类型转换器。


DoWorkEventArgs


为 DoWork 事件处理程序提供数据。


EditorAttribute


指定用于更改属性的编辑器。 此类不能被继承。


EditorBrowsableAttribute


指定可在编辑器中查看的属性或方法。 此类不能被继承。


EnumConverter


提供将 Enum 对象与其他各种表示形式相互转换的类型转换器。


ErrorsChangedEventManager


提供 WeakEventManager 实现,以便可以使用弱事件侦听器模式附加 ErrorsChanged 事件的侦听器。


EventDescriptor


提供有关事件的信息。


EventDescriptorCollection


表示 EventDescriptor 对象集合。


EventHandlerList


提供一个简单的委托列表。 此类不能被继承。


ExpandableObjectConverter


提供在可扩展对象与其他各种表示形式之间实现转换的类型转换器。


ExtenderProvidedPropertyAttribute


指定由扩展程序提供程序提供的属性。 此类不能被继承。


GroupDescription


为描述如何将集合中的项划分为组的类型提供抽象基类。


GuidConverter


提供将 Guid 对象与其他各种表示形式相互转换的类型转换器。


HandledEventArgs


为可在事件处理程序中完整处理的事件提供数据。


ImmutableObjectAttribute


指定对象没有可以被编辑的子属性。 此类不能被继承。


InheritanceAttribute


指示是否已从基类继承与此特性关联的组件。 此类不能被继承。


InitializationEventAttribute


指定在初始化时引发的事件。 此类不能被继承。


InstallerTypeAttribute


为安装组件的类型指定安装程序。


InstanceCreationEditor


从 PropertyGrid 中的下拉框中创建特定类型属性的实例。


Int16Converter


提供用于在 16 位有符号整数对象与其他表示形式之间实现相互转换的类型转换器。


Int32Converter


提供用于在 32 位有符号整数对象与其他表示形式之间实现相互转换的类型转换器。


Int64Converter


提供用于在 64 位有符号整数对象与其他各种表示形式之间实现相互转换的类型转换器。


InvalidAsynchronousStateException


当应执行某个操作的线程不再存在或者没有消息循环时,将引发此异常。


InvalidEnumArgumentException


使用无效参数(为枚举数)时引发的异常。


ItemPropertyInfo


包含有关属性的信息。


License


为所有许可证提供 abstract 基类。 对组件的特定实例授予许可证。


LicenseContext


指定何时可使用授权的对象,并且提供一种方法,用以获取为支持在其域内运行的许可证所需要的附加服务。


LicenseException


表示当组件不能被授予许可证时引发的异常。


LicenseManager


提供属性和方法,用以将许可证添加到组件和管理 LicenseProvider。 此类不能被继承。


LicenseProvider


提供 abstract 基类以便实现许可证提供程序。


LicenseProviderAttribute


指定要与类一起使用的 LicenseProvider。 此类不能被继承。


LicFileLicenseProvider


提供 LicenseProvider 的实现。 提供程序与 Microsoft .NET Framework 标准授权模型的工作方式相似。


ListBindableAttribute


指定列表可被用作数据源。 可视化设计器应该使用该特性来确定是否在数据绑定选择器中显示特定的列表。 此类不能被继承。


ListChangedEventArgs


为 ListChanged 事件提供数据。


ListSortDescription


提供对应用于数据源的排序操作的说明。


ListSortDescriptionCollection


表示 ListSortDescription 对象集合。


LocalizableAttribute


指定是否应本地化某一属性。 此类不能被继承。


LookupBindingPropertiesAttribute


指定支持基于查找的绑定的属性。 此类不能被继承。


MarshalByValueComponent


实现 IComponent 并提供可远程控制的组件的基实现,该组件是由值封送的(传递序列化对象的副本)。


MaskedTextProvider


表示可由支持掩码的任何数量的控件(如 MaskedTextBox 控件)使用的掩码分析服务。


MemberDescriptor


表示一个类成员,例如某个属性或事件。 这是一个抽象基类。


MergablePropertyAttribute


指定该属性能与“属性”窗口中属于其他对象的属性组合。


MultilineStringConverter


提供将多行字符串转换为单行字符串的类型转换器。


NestedContainer


提供 INestedContainer 接口的基实现,该接口使容器可以拥有一个所属组件。


NotifyParentPropertyAttribute


指示当此特性应用到的属性的值被修改时,通知父属性。 此类不能被继承。


NullableConverter


提供可以为 null 的类型与其基础基元类型之间的自动转换。


ParenthesizePropertyNameAttribute


指示关联属性的名称在“属性”窗口中显示时是否带有括号。 此类不能被继承。


PasswordPropertyTextAttribute


指示对象的文本表示形式被星号等字符隐匿。 此类不能被继承。


ProgressChangedEventArgs


为 ProgressChanged 事件提供数据。


PropertyChangedEventArgs


为 PropertyChanged 事件提供数据。


PropertyChangedEventManager


提供 WeakEventManager 实现,以便可以使用“弱事件侦听器”模式附加 PropertyChanged 事件的侦听器。


PropertyChangingEventArgs


为 PropertyChanging 事件提供数据。


PropertyDescriptor


提供类的属性的抽象。


PropertyDescriptorCollection


表示 PropertyDescriptor 对象集合。


PropertyFilterAttribute


指定哪些属性应由类型描述符报告,尤其是 GetProperties(Object) 方法。


PropertyTabAttribute


标识要为指定的类显示的属性选项卡。


ProvidePropertyAttribute


指定 IExtenderProvider 的实施者提供给其他组件的属性的名称。 无法继承此类


ReadOnlyAttribute


指定该特性所绑定到的属性是只读属性还是读/写属性。 无法继承此类


RecommendedAsConfigurableAttribute


指定该属性可以用作应用程序设置。


ReferenceConverter


提供将对象引用与其他表示形式相互转换的类型转换器。


RefreshEventArgs


为 Refreshed 事件提供数据。


RefreshPropertiesAttribute


指示关联的属性值更改时应刷新属性网格。 此类不能被继承。


RunInstallerAttribute


指定在安装程序集时是否应调用 Visual Studio 自定义操作安装程序或 Installutil.exe (安装程序工具)。


RunWorkerCompletedEventArgs


为 MethodNameCompleted 事件提供数据。


SByteConverter


提供用于在 8 位无符号整数对象与字符串之间实现相互转换的类型转换器。


SettingsBindableAttribute


指定何时可将组件属性绑定到应用程序设置。


SingleConverter


提供将单精度浮点数字对象与各种其他表示形式相互转换的类型转换器。


SortDescriptionCollection


表示 SortDescription 对象的集合。


StringConverter


提供用于在字符串对象与其他表示形式之间实现相互转换的类型转换器。


SyntaxCheck


提供方法来验证计算机名称和路径是否符合特定语法。 此类不能被继承。


TimeSpanConverter


提供将 TimeSpan 对象与其他表示形式相互转换的类型转换器。


ToolboxItemAttribute


表示工具箱项的特性。


ToolboxItemFilterAttribute


为工具箱项指定要使用的筛选器字符串和筛选器类型。


TypeConverter


提供一种将值的类型转换为其他类型以及访问标准值和子属性的统一方法。


TypeConverter.SimplePropertyDescriptor


表示一个 abstract 类,该类为没有属性的对象提供属性。


TypeConverter.StandardValuesCollection


表示值的集合。


TypeConverterAttribute


指定对于此属性绑定到的对象要使用哪种类型作为转换器。


TypeDescriptionProvider


向 TypeDescriptor 提供补充元数据。


TypeDescriptionProviderAttribute


指定类的自定义类型说明提供程序。 此类不能被继承。


TypeDescriptor


提供有关组件特征的信息,如组件的特性、属性和事件。 此类不能被继承。


TypeListConverter


提供可用于在列表框中填充可用类型的类型转换器。


UInt16Converter


提供用于在 16 位无符号整数对象与其他表示形式之间实现相互转换的类型转换器。


UInt32Converter


提供用于在 32 位无符号整数对象与其他各种表示形式之间实现相互转换的类型转换器。


UInt64Converter


提供用于在 64 位无符号整数对象与其他表示形式之间实现相互转换的类型转换器。


WarningException


指定按警告(而不是错误)处理的异常。


Win32Exception


引发 Win32 错误代码异常。

5,Structs 结构体

SortDescription
定义要用作集合的排序条件的方向和属性名。

6,Interfaces 界面

IBindingList
提供在绑定到数据源时支持复杂方案和简单方案所需的功能。

IBindingListView
通过提供高级排序和筛选功能来扩展 IBindingList 接口。

ICancelAddNew
在向集合添加新项时添加事务性功能。

IChangeTracking
定义用于查询对象的更改和重置已更改状态的机制。

ICollectionView
使集合具有当前记录管理、自定义排序、筛选和分组功能。

ICollectionViewFactory
可以实现集合以创建其数据的视图的接口。 正常情况下,用户代码不在此接口上调用方法。

ICollectionViewLiveShaping
定义能够使 CollectionView 排序,分组和筛选的属性。

IComNativeDescriptorHandler
提供 COM 对象和 TypeDescriptor 之间的顶级映射层。

IComponent
提供全部组件所需的功能。

IContainer
提供容器的功能。 容器是在逻辑上包含零个或多个组件的对象。

ICustomTypeDescriptor
提供为对象提供动态自定义类型信息的接口。

IDataErrorInfo
提供功能,该功能提供用户界面可以绑定的自定义错误信息。

IEditableCollectionView
定义 CollectionView 所实现的方法和属性,用于向集合提供编辑功能。

IEditableCollectionViewAddNewItem
定义 CollectionView 所实现的方法和属性,它们可用于指定添加特定类型的项。

IEditableObject
提供提交或回滚对用作数据源的对象所做更改的功能。

IExtenderProvider
定义将属性扩展到容器中的其他组件的接口。

IIntellisenseBuilder
提供便于检索生成器的名称并显示该生成器的界面。

IItemProperties
定义一个提供对象属性相关信息的属性。

IListSource
向对象提供返回可以绑定到数据源列表的功能。

INestedContainer
提供嵌套容器的功能,嵌套容器逻辑上可包含零个或多个其他组件,且这类容器由父组件拥有。

INestedSite
提供检索组件的完全嵌套名称的能力。

INotifyDataErrorInfo
定义数据实体类可实现以提供自定义同步和异步验证支持的成员。

INotifyPropertyChanged
通知客户端属性值已更改。

INotifyPropertyChanging
通知客户端属性值正在更改。

IRaiseItemChangedEvents
指示类是否将属性更改事件转换为 ListChanged 事件。

IRevertibleChangeTracking
提供对回滚更改的支持

ISite
提供站点所需的功能。

ISupportInitialize
指定该对象支持对批初始化的简单的事务处理通知。

ISupportInitializeNotification
允许协调组件及其依赖属性的初始化。

ISynchronizeInvoke
提供同步或异步执行委托的方法。

ITypeDescriptorContext
提供有关组件的上下文信息,如其容器和属性描述符。

ITypedList
提供发现可绑定列表架构的功能,其中可用于绑定的属性不同于要绑定到的对象的公共属性。

7,Enums 枚举

BindableSupport
指定值来表示是否可以将属性绑定到数据元素或另一个属性。

BindingDirection
指定模板是否可以用一种方式或两种方式绑定。

CollectionChangeAction
指定如何更改集合。

DataObjectMethodType
根据应用于某方法的 DataObjectMethodAttribute 的指定,标识该方法所执行的数据操作类型。

DesignerSerializationVisibility
指定属性对设计时序列化程序所具有的可见性。

EditorBrowsableState
从编辑器内指定属性或方法的可浏览状态。

InheritanceLevel
定义继承级别类型的标识符。

LicenseUsageMode
指定何时可以使用 License。

ListChangedType
指定列表的更改方式。

ListSortDirection
指定排序操作的方向。

MaskedTextResultHint
指定简洁描述掩码文本分析操作结果的值。

NewItemPlaceholderPosition
指定新项的占位符在集合中的显示的位置。

PropertyFilterOptions
指定哪些属性应由类型描述符报告,尤其是 GetProperties(Object) 方法。此枚举用于指定 Filter 属性的值。

PropertyTabScope
定义指示“属性”窗口中选项卡的持续范围的标识符。

RefreshProperties
定义指示“属性”窗口刷新类型的标识符。

ToolboxItemFilterType
定义用于指示 ToolboxItemFilterAttribute 使用的筛选器类型的标识符。

8,Delegates 委托

AddingNewEventHandler
表示用来处理 AddingNew 事件的方法。

AsyncCompletedEventHandler
表示将处理异步操作的 MethodNameCompleted 事件的方法。

CancelEventHandler
表示处理可取消事件的方法。

CollectionChangeEventHandler
表示处理将元素添加到集合中或从集合中移除元素时引发的 CollectionChanged 事件的方法。

CurrentChangingEventHandler
表示 CurrentChanging 事件的处理方法。

DoWorkEventHandler
表示用来处理 DoWork 事件的方法。 此类不能被继承。

HandledEventHandler
表示可以处理事件的方法,这些事件在事件处理程序返回后可能需要或不需要进行进一步处理。

ListChangedEventHandler
表示将处理 IBindingList 类的 ListChanged 事件的方法。

ProgressChangedEventHandler
表示将处理 BackgroundWorker 类的 ProgressChanged 事件的方法。 此类不能被继承。

PropertyChangedEventHandler
表示将处理 PropertyChanged 事件的方法,该事件在更改组件上的属性时引发。

PropertyChangingEventHandler
表示将对 PropertyChanging 接口的 INotifyPropertyChanging 事件进行处理的方法。

RefreshEventHandler
表示处理当 Refreshed 或组件在设计时被更改时引发的 Type 事件的方法。

RunWorkerCompletedEventHandler
表示将处理 RunWorkerCompleted 类的 BackgroundWorker 事件的方法。

到此这篇关于C#命名空间System.ComponentModel属性方法汇总的文章就介绍到这了。希望对大家的学习有所帮助,也希望大家多多支持我们。

赞 (0)

相关推荐

  • C#10的13个特性

    常量的内插字符串 C# 10 允许使用在常量字符串初始化中使用插值, 如下 const string name = "Oleg"; const string greeting = $"Hello, {name}."; Console.WriteLine(greeting); // Output: Hello, Oleg. 扩展属性模式 从 C# 10 开始,您可以在适当的模式中引用嵌套的属性或字段, 属性模式变得更具可读性并且需要更少的大括号. Person per

  • 在 C# 中使用 插值字符串

    目录 1.字符串插值 的结构 2.创建 字符串插值 3.插值字符串必须在编译时就能确定 4.插件字符串中使用特殊字符 前言: 字符串插值是一种将 表达式 插入到字符串字面量中的一种技术,又称为变量替换,变量插值,变量展开 等等,它是一种用相应值替换字符串中的一个或者更多个占位符的处理过程. 字符串插值被很多编程语言所采用,比如说:Python,Perl,PHP,Ruby,Java,Scala 等等, C# 是在第六个版本中引入的,这篇文章我们将会讨论如何在 C# 中使用 字符串插值. 1.字符串

  • C# Razor语法规则

    单独一个变量直接使用 @a 的形式,无需加分号,一般是直接使用已有变量,注意在使用 html 标签时,要和 razor 表达式加一个空格. //以下都是错误的@int a=0 //不能有空格 //@int a=0,@int 会被识别为Razor表达式, a=0识别为字符,并且@int会报错@int a = 0//不能有空格 <p>有几个人@a</a> //此处不会被识别,已经变成字符了 <h1 class="display-4">Welcome @a

  • ASP.NET Core命名空间System.Text.Encodings.Web介绍

    System.Text.Encodings.Web 空间包含表示 Web 编码器的基类.表示 HTML.JavaScript 和 Url 字符编码的子类,以及表示仅允许编码特定字符.字符范围或码位的筛选器的类. [ 定义来自 microsoft ] 该命名空间有五个类,用于不同对象的编码处理. 五个类 HtmlEncoder 表示 HTML 字符编码. JavaScriptEncoder 表示 JavaScript 字符编码. TextEncoder Web 编码器的基类. TextEncode

  • .NET6新特性之 隐式命名空间引用

    早在 .NET 6 Preview 7版本中微软就已经引入隐式命名空间引用.在.NET Preview 7这个版本中这个功能是默认开启的,如果需要禁用它的化就需要配置DisableImplicitNamespaceImports来禁用,但是到了.NET6 RC1版本的时候这个功能是禁用的,如果要使用就需要通过ImplicitUsings来启用.到了.NET6正式版中这个功能又又又默认开启了.下面我们以.NET6正式拜为例,来看一下怎么使用它吧! 如果我们要在新加一个命名空间的引用,可以在项目文件

  • C# RabbitMQ的使用详解

    目录 安装 编写消息接收端 编写发送端 测试发送端和接收端 Fanout 模式 Direct模式和RouteKey Topic 模式 本文目的如题. 安装 先说一下RabbitMQ的安装,建议使用Docker镜像安装,Docker安装的好处是不管Windows系统还是Linux,安装步骤少,安装方法相同,不容易出错.使用下面的命令就可以: docker run -d --hostname myRabbit --name rabbitmq3.9.11 -e RABBITMQ_DEFAULT_USE

  • C#使用表达式树实现对象复制的示例代码

    需求背景:对象复制性能优化:同时,在对象复制时,应跳过引用类型的null值复制,值类型支持值类型向可空类型的复制 using Common; using System; class Program { static void Main(string[] args) { TestClassA classA = new TestClassA() { PropA = new TestClass() { Name = "cs1" }, PropB = "c1", PropC

  • C#使用表达式树(LambdaExpression)动态更新类的属性值(示例代码)

    有看过我之前发表过的C#相关文章分享和阅读过我代码的朋友们可能会在我的代码里面经常看到各种各样的λ表达式动态拼接,C#的λ表达式树是一个好东西,也是别的语言学不来的,熟悉掌握λ表达式就能够实现各种场景的个性化操作,如动态拼接查询条件.排序方式等,也能够实现替代反射的高性能操作,比如我们常用到的IQueryable和IEnumerable,每个扩展方法就全是λ表达式树. 本文给大家分享C#使用表达式树(LambdaExpression)动态更新类的属性值的相关知识,在某些业务中会遇到需要同步两个类

  • C#中数据类型的转换介绍

    目录 1.parse转换:将string类型转化为其他类型 2.任意类型转化为string类型 3.隐式转换:自动转换-->小范围到大范围自动转换 4.显示转换:强制转换-->由大范围到小范围的强制转换,不过可能会发生精度丢失 5.最后再给一个简单的题目考考大家: 今天学习了一下数据类型的转换,我整理出了一下笔记: 1.parse转换:将string类型转化为其他类型 //数据类型的转换 //即string"18"==> int 18, //1.parse转换:将st

  • C#命名空间System.ComponentModel属性方法汇总

    1,System.ComponentModel System.ComponentModel 命名空间提供用于实现组件和控件的运行时和设计时行为的类. 此命名空间包括用于特性和类型转换器的实现.数据源绑定和组件授权的基类和接口. C# 语法优美,特性注释是其中一项,其使用特点如下图. 笔者在学习 ASP.NET Core 时,有很多大神的代码很多地方使用的特性,特性种类很多,o((⊙﹏⊙))o. 有时会很懵逼.所以笔者根据微软的资料整理一下(大部分Copy官方文档). 此命名空间中的类将划分为以下

  • Javascript对象属性方法汇总

    数组(Array):系列元素的有序集合 属性: length:用于获取数组元素的个数,既最大下标加 1 方法: sort(function):在未指定排序号的情况下,按照元素的字母顺序排列,如果不是字符串类型则转换成字符串,在排序; reverse():颠倒数组中元素的顺序: concat(array1,arrayn):用于将N个数组合并到array1数组中: join(string):用于将数组中元素合并为字符串,string为分隔符,如省略参数,则直接合并,不加分隔: slice(start

  • ToString()使用方法汇总(c#)

    ToString()使用方法汇总(C#) C 货币 2.5.ToString("C") ¥2.50 D 十进制数 25.ToString("D5") 00025 E 科学型 25000.ToString("E") 2.500000E+005 F 固定点 25.ToString("F2") 25.00 G 常规 2.5.ToString("G") 2.5 数字 2500000.ToString("N

  • C#中DataTable 转换为 Json的方法汇总(三种方法)

    在web开发中,我们可能会有这样的需求,为了便于前台的JS的处理,我们需要将查询出的数据源格式比如:List<T>.DataTable转换为Json格式.特别在使用Extjs框架的时候,Ajax异步请求的数据格式就是Json.鉴于此,我今天来分享将DataTable 转换成 Json的3种方法.换句话说如何在ASP.NET将一个DataTable序列化为 Json数组.或者如何从一个DataTable返回一个Json字符串.这篇文章将采用StringBuilder,JavaScriptSeri

  • C#文件加密方法汇总

    本文实例汇总了C#文件加密方法.分享给大家供大家参考.具体实现方法如下: 1.AES加密类 复制代码 代码如下: using System; using System.IO; using System.Security.Cryptography; using System.Text; namespace Utils {     /// <summary>     /// AES加密解密     /// </summary>     public class AES     {   

  • java操作xml的方法汇总及解析

    这篇文章主要介绍了java操作xml的方法汇总及解析,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下 一丶常用方法 主要有3个方面, 1读取xml文件, 2使用xpath根据指定路径获取某一节点数据 3, xml和java bean的转换 XmlUtils.java /** * 和cn.hutool.core.util.XmlUtil许多功能重合, 本类可以当做学习的例子 * 可以直接使用cn.hutool.core.util.XmlUtil *

  • C#开发中常用的加密解密方法汇总

    相信很多人在开发过程中经常会遇到需要对一些重要的信息进行加密处理,今天给大家分享我个人总结的一些加密算法: 常见的加密方式分为可逆和不可逆两种方式 可逆:RSA,AES,DES等 不可逆:常见的MD5,SHAD等 一.MD5消息摘要算法 我想这是大家都常听过的算法,可能也用的比较多.那么什么是MD5算法呢?MD5全称是message-digest algorithm 5,简单的说就是单向的加密,也就是说无法根据密文推导出明文. MD5主要用途: 1.对一段信息生成信息摘要,该摘要对该信息具有唯一

  • C#对XmlHelper帮助类操作Xml文档的通用方法汇总

    前言 该篇文章主要总结的是自己平时工作中使用频率比较高的Xml文档操作的一些常用方法和收集网上写的比较好的一些通用Xml文档操作的方法(主要包括Xml序列化和反序列化,Xml文件读取,Xml文档节点内容增删改的一些通过方法).当然可能还有很多方法会漏了,假如各位同学好的方法可以在文末留言,我会统一收集起来. C#XML基础入门 https://www.jb51.net/article/104113.htm Xml反序列化为对象 #region Xml反序列化为对象 /// <summary>

  • jquery常用函数与方法汇总

    1.delay(duration,[queueName]) 设置一个延时来推迟执行队列中之后的项目. jQuery 1.4新增.用于将队列中的函数延时执行.他既可以推迟动画队列的执行,也可以用于自定义队列. duration:延时时间,单位:毫秒 queueName:队列名词,默认是Fx,动画队列. 例: 头部与底部延迟加载动画效果 $(document).ready(function() { $('#header') .css({ 'top':-50 }) .delay(1000).anima

  • Java中常用修饰符的使用方法汇总

    修饰符汇总: 一:public protected default private 修饰类,修饰方法,修饰属性,修饰代码块. 类: 顶级类只能用public 修饰,顶级类不能使用private 和protected 修饰. 外部类可以被public修饰或者默认不写,不能用private和protected. 内部类可为静态,可用protected和private修饰. 方法: 通常方法可以被四个访问修饰符修饰,构造方法也可以被四个访问修饰符修饰. 抽象类中的抽象方法不能被private修饰,可以

随机推荐