软件频道>开发者网络>微软开发专栏>ASP.NETC#VB.NETVC.NET技术专题XML|软件频道产品中心群乐下载群乐:大家耍QQ
您现在的位置: 天极网 > 开发频道 > 微软开发专栏 > ASP.NET2.0服务器控件之类型转换器
全文

ASP.NET2.0服务器控件之类型转换器

2006-06-19 15:24作者:金属边缘出处:天极开发责任编辑:方舟
  3. 向属性窗口提供标准值列表的类型转换器

  类型转换器可以为Visual Studio 2005的属性窗口中的属性值输入字段,提供一个标准值列表,那么当在属性浏览器中选中了与该类型转换器关联的类型属性时,值输入字段将包含一个按钮,该按钮显示属性类型的标准值下拉列表,可从中选择标准值。

  实现在属性窗口中提供标准值下拉列表的类型转换器有以下6个步骤:

  (1)定义从System.ComponentModel.TypeConverter派生的类;

  (2)重写GetStandardValuesSupported方法并返回true;

  (3)重写GetStandardValues方法并返回包含属性类型标准值的StandardValuesCollection。属性类型的标准值必须是类型字符串;

  (4)重写CanConvertFrom方法并为类型字符串的sourceType参数值返回true;

  (5)重写ConvertFrom方法并基于"值"参数返回相应的属性值;

  (6)将指示类型转换器类型的TypeConverterAttribute应用于要为其提供一组标准值的类型。

  限于篇幅,本文将不再列举代码示例。关于实现过程中的方法应用,读者可参考前文相关内容或者MSDN。

  4. 在运行时为属性初始化生成代码的类型转换器

  .NET框架中提供了在设计时生成可动态配置的属性初始化代码(此代码在运行时初始化属性)的功能。开发人员可以构建一个产生基于构造函数的初始化代码的类型转换器。为了在运行时配置类型属性,这些类型转换器可以使用在设计时设置的值来动态生成构造函数代码。类型转换器实现逻辑以配置属性的类型和构造函数的值。

  为了初始化属性,除了生成构造函数之外,如果您还需要生成代码,可以实现一个自定义的CodeDomSerializer,并应用将类型的CodeDomSerializer与该类型关联的 DesignerSerializerAttribute,这样就可以动态地生成代码。通常只有在对组件初始化的代码生成进行动态控制或自定义很重要的情况下,才使用这种方法。要生成自定义的基于构造函数的属性初始化程序,必须将类型转换器与属性的类型关联来进行初始化,而且该类型转换器必须能够转换到InstanceDescriptor。

  实现生成基于构造函数的属性初始化代码的类型转换器有3个步骤:

  (1)定义从System.ComponentModel.TypeConverter派生的类;

  (2)重写CanConvertTo方法。如果destinationType 参数等于InstanceDescriptor类型,返回true;

  (3)重写ConvertTo方法。如果destinationType参数等于InstanceDescriptor 类型,构造并返回一个InstanceDescriptor,表示要为之生成代码的构造函数和构造函数参数。要创建表示相应构造函数及参数的InstanceDescriptor,可通过使用您所查找的构造函数的相应方法签名来调用GetConstructor或GetConstructors方法,从要初始化的属性的Type中获取ConstructorInfo。然后创建一个新的实例说明符,并为表示待用构造函数类型的类型传递ConstructorInfo,同时传递与构造函数签名匹配的参数对象数组;

  5. 小结

  本文主要介绍了类型转换器的基本概念以及3种类型转换器的实现方法。尤其需要读者关注的是其中的值翻译的类型转换器,这是作为开发人员应重点掌握的内容。

软件资讯·软件下载尽在天极软件

共3页。 首页 上一页 1 2 3
相关搜索:
关注此文读者还看过
文章排行
本周
本月
最近更新
关于我们|About us|网站律师|天极服务|电子杂志|RSS订阅|加入我们|网站地图
TMG
Copyright (C) 1999-2009 Chinabyte.com, All Rights Reserved 版权所有 天极网络
商务联系、网站内容、合作建议:010-82657868
版权声明 在线提交意见反馈 渝ICP证B2-20030003号
经营性网站备案信息 网警备案 中国网站排名
天极传媒:天极网|比特网|IT专家网|IT商网|52PK游戏网|IT分众