Я использовал его в одной из рамок ORM, которые я разработал на основе шаблона ActiveRecord. Это тот же вид реализации, который доступен в проекте LINQ, Castle и т. Д.
Рамка была названа «SkyFramework», но она не была открыта.
, например. Примерный пример ...
Аналогичные примеры вы найдете в других проектах с открытым исходным кодом.
[Sky.Table ("user")]
public class User
{
[Sky.Column ("username")]
public string UserName;
[Sky.Column ("pwd")]
public string Password;
}
Примечание: Атрибут «Таблица», «Столбцы» были пользовательские атрибуты в то время.
Двигатель ActiveRecord анализирует объект для этих атрибутов и генерирует соответствующие функции для CRUD ... и т.д. ...
Аналогичным образом, я разработал некоторые пользовательские атрибуты для идентификации части коды, который должен быть протестированным. .. для, например,
[Sky.BenchMark()]
public void LongRunningMethod(..)
{
}
Методы, отмеченные вышеуказанными атрибутами, автоматически помечены скамейкой и создается журнал. Это были некоторые более ранние реализации.
Доступна книга Apress по теме .. Applied .NET Attribues, которая может вам помочь.
Вот как это делают другие SOFlow'rs: http://www.google.com/#hl=ru&q=site%3Astackoverflow.com+.net+custom+attribute&aq=f&oq=&aqi=&fp=leBsIIJAIN0 – Sampson