C#特性 System.ComponentModel命名名空间属性方法大全,Syst em.ComponentModel命名空间的特性

简介: 目录:System.ComponentModel特性命名空间与常用类System.ComponentModel.DataAnnotationsComponentModel - Classes 类ComponentModel - Structs 结构体ComponentModel - Interfaces 界面ComponentModel - Enums 枚举ComponentModel - Delegates 委托

1,System.ComponentModel



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


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


微信图片_20220426153641.png

 

笔者在学习 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] 指定数据字段值是必需的,用户输入时不能为空。

他有多种使用形式,


属性


使用方法如下


1

2

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

publicobjectTitle;


其他属性还有:


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 事件的方法

相关文章
|
6天前
|
存储 安全 编译器
学懂C#编程:属性(Property)的概念定义及使用详解
通过深入理解和使用C#的属性,可以编写更清晰、简洁和高效的代码,为开发高质量的应用程序奠定基础。
42 12
|
1月前
|
编译器 C# 开发者
C# 9.0 新特性解析
C# 9.0 是微软在2020年11月随.NET 5.0发布的重大更新,带来了一系列新特性和改进,如记录类型、初始化器增强、顶级语句、模式匹配增强、目标类型的新表达式、属性模式和空值处理操作符等,旨在提升开发效率和代码可读性。本文将详细介绍这些新特性,并提供代码示例和常见问题解答。
49 7
C# 9.0 新特性解析
|
1月前
|
JSON 程序员 C#
使用 C# 比较两个对象是否相等的7个方法总结
比较对象是编程中的一项基本技能,在实际业务中经常碰到,比如在ERP系统中,企业的信息非常重要,每一次更新,都需要比较记录更新前后企业的信息,直接比较通常只能告诉我们它们是否指向同一个内存地址,那我们应该怎么办呢?分享 7 个方法给你!
|
1月前
|
C# UED SEO
C# 异步方法async / await任务超时处理
通过使用 `Task.WhenAny`和 `Task.Delay`方法,您可以在C#中有效地实现异步任务的超时处理机制。这种方法允许您在指定时间内等待任务完成,并在任务超时时采取适当的措施,如抛出异常或执行备用操作。希望本文提供的详细解释和代码示例能帮助您在实际项目中更好地处理异步任务超时问题,提升应用程序的可靠性和用户体验。
73 3
|
1月前
|
C# 开发者
C# 10.0 新特性解析
C# 10.0 在性能、可读性和开发效率方面进行了多项增强。本文介绍了文件范围的命名空间、记录结构体、只读结构体、局部函数的递归优化、改进的模式匹配和 lambda 表达式等新特性,并通过代码示例帮助理解这些特性。
36 2
|
2月前
|
JSON C# 开发者
C#语言新特性深度剖析:提升你的.NET开发效率
【10月更文挑战第15天】C#语言凭借其强大的功能和易用性深受开发者喜爱。随着.NET平台的演进,C#不断引入新特性,如C# 7.0的模式匹配和C# 8.0的异步流,显著提升了开发效率和代码可维护性。本文将深入探讨这些新特性,助力开发者在.NET开发中更高效地利用它们。
44 1
|
2月前
|
存储 C#
【C#】大批量判断文件是否存在的两种方法效率对比
【C#】大批量判断文件是否存在的两种方法效率对比
52 1
|
2月前
|
C#
C#的方法的参数传递
C#的方法的参数传递
30 0
|
1月前
|
C# 开发者
C# 一分钟浅谈:Code Contracts 与契约编程
【10月更文挑战第26天】本文介绍了 C# 中的 Code Contracts,这是一个强大的工具,用于通过契约编程增强代码的健壮性和可维护性。文章从基本概念入手,详细讲解了前置条件、后置条件和对象不变量的使用方法,并通过具体代码示例进行了说明。同时,文章还探讨了常见的问题和易错点,如忘记启用静态检查、过度依赖契约和性能影响,并提供了相应的解决建议。希望读者能通过本文更好地理解和应用 Code Contracts。
39 3
|
1月前
|
设计模式 C# 图形学
Unity 游戏引擎 C# 编程:一分钟浅谈
本文介绍了在 Unity 游戏开发中使用 C# 的基础知识和常见问题。从 `MonoBehavior` 类的基础用法,到变量和属性的管理,再到空引用异常、资源管理和性能优化等常见问题的解决方法。文章还探讨了单例模式、事件系统和数据持久化等高级话题,旨在帮助开发者避免常见错误,提升游戏开发效率。
53 4