Est-il possible d'écrire une classe personnalisée qui étend la classe .NET Attribute afin que je puisse appliquer cette classe à une méthode et .NET Framework appelle mon constructeur de classe avant d'exécuter cette méthode. Voici l'exemple.blocage de classes d'attributs .NET
public class TestAttribute : Attribute
{
public TestAttribute()
{
Console.WriteLine("Called");
}
}
class Program
{
static void Main(string[] args)
{
TestMethod();
}
[TestAttribute()]
public static void TestMethod()
{
}
}
Je veux quand TestMethod est appelée, framework exécutera le constructeur TestAttribute().
Une autre option (uniquement ASP.NET MVC) est une sous-classe de crée 'ActionFilterAttribute'. Voir un exemple [ici] (http://www.davidhayden.com/blog/dave/archive/2008/03/21/ActionFilterAttributeExamplesASPNETMVCFrameworkPreview2.aspx). – rsenna
@rsenna c'est un exemple très spécifique qui est toujours invoqué par la réflexion. –
@Marc Gravell: 1) C'est pourquoi je l'ai ajouté comme un commentaire, pas comme une réponse. 2) Il fait le travail (l'OP veut ajouter le comportement d'exécution à une méthode, je ne pense pas qu'il/elle se soucie des détails d'exécution). 3) Je vous ai donné un +1, alors ne vous plaignez pas! ;-) – rsenna