L'ho usato in uno dei framework ORM che ho sviluppato in base al pattern ActiveRecord. Questo è lo stesso tipo di implementazione disponibile in LINQ, progetto Castle ecc.
Il framework era chiamato "SkyFramework", ma non era opensource.
per es. Un semplice esempio ...
Troverete esempi simili anche in altri progetti opensource.
[Sky.Table ("user")]
public class User
{
[Sky.Column ("username")]
public string UserName;
[Sky.Column ("pwd")]
public string Password;
}
NOTA: L'attributo "Table", "Colonne" erano gli attributi personalizzati in quel momento.
Il motore ActiveRecord analizza l'oggetto per questi attributi e genera le rispettive funzioni CRUD ... ecc ...
Analogamente, avevo sviluppato alcuni attributi personalizzati per identificare porzioni di codice che deve essere benchmark. .. per es .:
[Sky.BenchMark()]
public void LongRunningMethod(..)
{
}
I metodi contrassegnati con gli attributi di cui sopra sono automaticamente contrassegnati dal banco e viene generato un registro. Queste erano alcune implementazioni precedenti.
C'è un libro di Apress disponibile sull'argomento .. Applied .NET Attribues che può essere di aiuto a voi.
fonte
2009-06-21 04:41:35
Ecco come gli altri SOFlow li usano: http://www.google.com/#hl=en&q=site%3Astackoverflow.com+.net+custom+attribute&aq=f&oq=&aqi=&fp=leBsIIJAIN0 – Sampson