none
如何用尽量白话或者举个生活中的小例子来描述"特性"和特性的主要应用场景 RRS feed

  • 问题

  • 刚才提了一个关于特性的问题,看到一个朋友解答,让我对特性的理解又有些模糊起来,如何用白话来描述特性这个东西,还有特性的主要应用场景是什么呢,比如在什么样的情况下需要用特性
    2011年1月13日 14:15

答案

  • dear
    请问你的特是指的是Attribute 类别吗吗??若是的话,请参考:

    http://msdn.microsoft.com/zh-cn/library/system.attribute%28VS.80%29.aspx
    Attribute 类别会将预先定义的系统资讯或使用者定义的自订资讯,与目标项目产生关联。目标项目可为组件 (Assembly)、类别、建构函式 (Constructor)、委派 (Delegate)、

    列举、事件、栏位、介面、方法、可移植执行档案模组、参数、属性 (Property)、传回值、结构或其他属性 (Attribute)。

    这种类别算是MS独创的东西,我举个简单的例子,倘若你要为你的组件(Class)定义版本,作者资讯,可以再类别的上方定义
        [assembly: Version(Name = "hyddd", Date = "2009-07-20", Describtion = "hyddd's class")] 
        public class MyCode 
        { 
            //...... 
        }

    更详细的内容请参考
    C# 特性(Attribute)详细介绍
    http://www.cnblogs.com/luckboy/archive/2009/07/18/1526083.html

    学习C#:Attribute与Property
    http://developer.51cto.com/art/200908/141545.htm

    屬性 (C# 程式設計手冊)
    http://msdn.microsoft.com/zh-cn/library/z0w1kczw%28VS.80%29.aspx

    Attribute 类
    http://msdn.microsoft.com/zh-cn/library/system.attribute%28VS.80%29.aspx

    C# 属性
    http://msdn.microsoft.com/zh-cn/library/aa287992%28VS.71%29.aspx
    秘訣無它,唯勤而已 http://www.dotblogs.com.tw/yc421206/
    2011年1月14日 1:14
  • 硬要用生活的物品来隐喻的话   应该是标签或者铭牌吧。

     

    比如说   你这有个电源插头, 那边有个插座。  插头上写着220v  插座上写着110v(两个Attribute)  ,虽然接口是符合的  但是人类(Controller/Manger 这样的框架核心)可以藉由铭牌 判断不要用 220v的插头调用110v插座的服务。

    冰箱里面有一个微波食品(数据ENtity),上面有一个说明(Attribute) 说我这个菜  用微波热之前  要把酱料进行搅拌(数据处理行为描述), 于是人类(Controller/Manger 这样的框架核心)按照这个规则做了(按照描述的行为进行数据渲染),得到了一盘香浓的意大利面(渲染出的数据视图)

    这些attribute 虽然没有改变插头和插座的接口  改变不了意大利面被微波的命运,  但是藉由对数据和接口说明这样的额外信息  也就是元数据   使框架有了更多的能力。

    话说,也有把可调用的逻辑封装在 attribute中的, 可以把这个比喻成手机随包装附赠的特殊螺丝刀,打汁机附赠的特殊滤网。

     


    入了ipad,最近用ipad上论坛
    2011年1月14日 2:08

全部回复

  • dear
    请问你的特是指的是Attribute 类别吗吗??若是的话,请参考:

    http://msdn.microsoft.com/zh-cn/library/system.attribute%28VS.80%29.aspx
    Attribute 类别会将预先定义的系统资讯或使用者定义的自订资讯,与目标项目产生关联。目标项目可为组件 (Assembly)、类别、建构函式 (Constructor)、委派 (Delegate)、

    列举、事件、栏位、介面、方法、可移植执行档案模组、参数、属性 (Property)、传回值、结构或其他属性 (Attribute)。

    这种类别算是MS独创的东西,我举个简单的例子,倘若你要为你的组件(Class)定义版本,作者资讯,可以再类别的上方定义
        [assembly: Version(Name = "hyddd", Date = "2009-07-20", Describtion = "hyddd's class")] 
        public class MyCode 
        { 
            //...... 
        }

    更详细的内容请参考
    C# 特性(Attribute)详细介绍
    http://www.cnblogs.com/luckboy/archive/2009/07/18/1526083.html

    学习C#:Attribute与Property
    http://developer.51cto.com/art/200908/141545.htm

    屬性 (C# 程式設計手冊)
    http://msdn.microsoft.com/zh-cn/library/z0w1kczw%28VS.80%29.aspx

    Attribute 类
    http://msdn.microsoft.com/zh-cn/library/system.attribute%28VS.80%29.aspx

    C# 属性
    http://msdn.microsoft.com/zh-cn/library/aa287992%28VS.71%29.aspx
    秘訣無它,唯勤而已 http://www.dotblogs.com.tw/yc421206/
    2011年1月14日 1:14
  • 硬要用生活的物品来隐喻的话   应该是标签或者铭牌吧。

     

    比如说   你这有个电源插头, 那边有个插座。  插头上写着220v  插座上写着110v(两个Attribute)  ,虽然接口是符合的  但是人类(Controller/Manger 这样的框架核心)可以藉由铭牌 判断不要用 220v的插头调用110v插座的服务。

    冰箱里面有一个微波食品(数据ENtity),上面有一个说明(Attribute) 说我这个菜  用微波热之前  要把酱料进行搅拌(数据处理行为描述), 于是人类(Controller/Manger 这样的框架核心)按照这个规则做了(按照描述的行为进行数据渲染),得到了一盘香浓的意大利面(渲染出的数据视图)

    这些attribute 虽然没有改变插头和插座的接口  改变不了意大利面被微波的命运,  但是藉由对数据和接口说明这样的额外信息  也就是元数据   使框架有了更多的能力。

    话说,也有把可调用的逻辑封装在 attribute中的, 可以把这个比喻成手机随包装附赠的特殊螺丝刀,打汁机附赠的特殊滤网。

     


    入了ipad,最近用ipad上论坛
    2011年1月14日 2:08