Użyłem go w jednym z frameworków ORM, które opracowałem w oparciu o wzór ActiveRecord. Jest to ten sam rodzaj implementacji, który jest dostępny w LINQ, projekcie Castle itp.
Framework został nazwany "SkyFramework", ale nie był to opensource.
np. Tylko przybliżony przykład ...
Podobne przykłady znajdziesz także w innych projektach typu open source.
[Sky.Table ("user")]
public class User
{
[Sky.Column ("username")]
public string UserName;
[Sky.Column ("pwd")]
public string Password;
}
UWAGA: Atrybut „Stół”, „Kolumny” były atrybuty niestandardowe w tym czasie.
Silnik ActiveRecord analizuje obiekt dla tych atrybutów i generuje odpowiednie funkcje CRUD ... etc ...
Podobnie miałem opracowany niektórych niestandardowych atrybutów do identyfikacji fragmentów kodu, które muszą być porównywana. .. na przykład
[Sky.BenchMark()]
public void LongRunningMethod(..)
{
}
Metody oznaczone powyższymi atrybutami są automatycznie oznaczane na stole i generowany jest dziennik. To były wcześniejsze implementacje.
Na ten temat dostępna jest książka Apress. Applied .NET Attribues, która może być pomocna.
Oto, jak używają ich inni użytkownicy SOFlow: http://www.google.com/#hl=en&q=site%3Astackoverflow.com+.net+custom+attribute&aq=f&oq=&aqi=&fp=leBsIIJAIN0 – Sampson