Я использовал его в одной из сред ORM, которую я разработал на основе шаблона ActiveRecord. Это та же самая реализация, которая доступна в LINQ, проекте Castle и т. Д.
Фреймворк назывался "SkyFramework", но он не был открытым исходным кодом.
например Просто грубый пример ...
Подобные примеры вы найдете и в других проектах с открытым исходным кодом.
</p>
<pre><code>[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.
Прикладные атрибуты .NET , которые могут вам помочь.