为什么要区分定位参数和命名参数那??
还有属性类有什么特性?在什么时候使用??希望有个案例可以学习下!

解决方案 »

  1.   

    Attribute?参数无所谓定位参数还是命名参数,这要根据你自己的设计去做。
    Attribute用于发射
      

  2.   

    (参考资料:msdn)
    属性类可以具有定位参数和命名参数。属性类的每个公共实例构造函数为该属性类定义一个有效的定位参数序列。属性类的每个非静态公共读写字段和属性为该属性类定义一个命名参数。示例
    using System;
    [AttributeUsage(AttributeTargets.Class)]
    public class HelpAttribute: Attribute
    {
       public HelpAttribute(string url) {      // Positional parameter
          ...
       }
       public string Topic {                  // Named parameter
          get {...}
          set {...}
       }
       public string Url {
          get {...}
       }
    }定义了一个名为 HelpAttribute 的属性类,它具有一个定位参数 (url) 和一个命名参数 (Topic)。虽然 Url 属性是非静态的和公共的,但由于它不是读写的,因此它并不定义命名参数。此属性类可以如下方式使用:
    [Help("http://www.example.com/.../Class1.htm")]
    class Class1
    {
       ...
    }
    [Help("http://www.example.com/.../Misc.htm", Topic = "Class2")]
    class Class2
    {
       ...
    }