Есть ли способ написать пользовательский класс, который расширяет класс .NET Attribute, чтобы я мог применить этот класс к методу, а .NET Framework вызывает мой конструктор классов перед выполнением этого метода. Вот пример:.NET Attribute Class Plugging
public class TestAttribute : Attribute
{
public TestAttribute()
{
Console.WriteLine("Called");
}
}
class Program
{
static void Main(string[] args)
{
TestMethod();
}
[TestAttribute()]
public static void TestMethod()
{
}
}
Я хочу, чтобы при вызове TestMethod Framework выполнит конструктор TestAttribute().
Другой вариант (ASP.NET MVC только) создает подкласс 'ActionFilterAttribute'. См. Пример [здесь] (http://www.davidhayden.com/blog/dave/archive/2008/03/21/ActionFilterAttributeExamplesASPNETMVCFrameworkPreview2.aspx). – rsenna
@rsenna - это очень конкретный пример, который в конечном счете вызван через отражение. –
@Marc Gravell: 1) Вот почему я добавил его как комментарий, а не как ответ. 2) Он выполняет задание (OP хочет добавить поведение во время выполнения к методу, я не думаю, что он/она заботится о деталях реализации). 3) Я дал вам +1, поэтому не жалуйтесь! ;-) – rsenna