При использовании Trace.Listener кто-нибудь может сказать мне, почему
Trace.Write(string message, string category)
не передает строку категории в TraceFilter, когда метод
Trace.Write(object o, string category)
передает строку категории в метод ShouldTrace. Ниже приведены декомпиляции обоих методов из Reflector. Просто интересно, почему команда .NET делает что-то для одного метода, а не для другого.
public virtual void Write(object o, string category)
{
if ((this.Filter == null) ||
this.Filter.ShouldTrace(null, "", TraceEventType.Verbose, 0, category, null, o))
{
if (category == null)
{
this.Write(o);
}
else
{
this.Write((o == null) ? "" : o.ToString(), category);
}
}
}
и затем строковый метод.
public virtual void Write(string message, string category)
{
if ((this.Filter == null) ||
this.Filter.ShouldTrace(null, "", TraceEventType.Verbose, 0, message))
{
if (category == null)
{
this.Write(message);
}
else
{
this.Write(category + ": " + ((message == null) ? string.Empty : message));
}
}
}