AOP Postsharp, зарегистрируйте значение переменных - PullRequest
2 голосов
/ 03 апреля 2020

В postsharp есть путь от атрибута для получения значения переменной. Этот атрибут будет записывать некоторые журналы в базу данных или nlog

[AOPTattribute($"The value of 'myint' is {myInt}")]
public void MyMethod()
{
    int myInt = (default) int;

    /*
    some code here  
    */
}

Спасибо,

1 Ответ

2 голосов
/ 03 апреля 2020

Краткий ответ: это невозможно с помощью PostSharp Aspect Framework.

Это было бы возможно с PostSharp SDK (прямое манипулирование MSIL), но стоимость разработки, вероятно, будет непомерно высокой. Если вам просто нужны значения переменных в конце метода, это проще. Если вы хотите перехватить все прямые присвоения переменных, это сложнее. Если вы также хотите перехватывать косвенные назначения с помощью вызовов методов ref и out, это невозможно.

...