C# ta kullanılan normal türleri bilgilendirmek için kullandığımız özniteliklerin dışında parametlerle kendi isteğimiz doğrultusunda tanımlayabileceğimiz öznitelikleri AttributeUsage özniteliği ile tanımlarız.

AttribueUsage yapısı aşağıdaki gibidir.

[AttributeUsage
(
validon,
AllowMultiple=allowmultiple,
Inherited=inherited
)
]


          Bu kod yapısındada görebileceğiniz gibi konumsal ve adlandırılmış parametreleri ayırt etmek oldukça kolay.
          Öznitelikleri bu şekilde tanımlarsak özniteliklerin kullanıcıları okuma,yazma,adlandırma öznitelik özelliklerini bulmak için kaynak kodun yapısına bakmasına gerek kalmaz.Böylelikle daha hızlı ve güvenli çalışan bir kod yapımız olur.