Positional vs. Named Parameters : Attribute Definition « Attribute « C# / CSharp Tutorial






  1. A positional parameter is linked by its position.
  2. Positional parameters must be specified in the order in which they appear.
  3. Named parameters are specified by assigning values to their names.
  4. For an attribute, you can also create named parameters
  5. named parameters can be assigned initial values by using their names.
  6. A named parameter is supported by either a public field or property, which must not be read-only.

Here is the general form of an attribute specification that includes named parameters:

[attrib(positional-param-list, named-param1 = value, named-param2 = value, ...)]








10.4.Attribute Definition
10.4.1.Create Attribute
10.4.2.Attribute with supplement information
10.4.3.Positional vs. Named Parameters
10.4.4.Use a named attribute parameter.
10.4.5.Use a property as a named attribute parameter.
10.4.6.Assembly level attributes don't have to be in the assemblyinfo.cs file, but must be lised outside of any namespae definition.
10.4.7.A custom attribute based on bool value