Я только что начал использовать Postsharp как способ ведения журнала и т. Д. В проекте и столкнулся с проблемой, которую мне еще предстоит решить.Как исключить использование конструкторов из-за широких аспектов пространства имен
В моем проекте я создал свой LogAttribute, который правильно выводит информацию, которую я пытаюсь сделать, например. Параметры входящих и исходящих методов. Единственная проблема заключается в том, что он также делает это и для всех конструкторов, которые я не хочу регистрировать.
Есть ли способ исключить из строя конструкторы?
Мой GlobalAspects.cs похож на:
using PostSharp.Patterns.Diagnostics;
using PostSharp.Extensibility;
[assembly: TraceAttribute(AttributeTargetTypes = "myNamespace.toLog.*", AttributeTargetTypeAttributes = MulticastAttributes.Public, AttributeTargetMemberAttributes = MulticastAttributes.Public)]
Мой OnEntry, OnSuccess и О методах исключений в моем атрибуте все варианты на:
StringBuilder output = new StringBuilder();
output.Append("Entering: ");
output.Append(this.methodName);
for (int i = 0; i < args.Arguments.Count; i++)
{
output.Append(" Argument: " + i + " - ");
output.Append(args.Arguments.GetArgument(i) ?? "null");
}
m_logger.Trace(output);