I am attempting to destructure System.Type by using just the type name, sans namespace, but am getting an unexpected result.
Setup
The first transformation works as expected, producing the short string (the first 8 characters of a Guid). However, the second is never called:
.Destructure.ByTransforming<Id>(id => id.ToShortString())
.Destructure.ByTransforming<Type>(type => UseUnqualifiedName(type) ? type.Name : type.ToString())
Usage
_logger.LogInfo("Instance loaded: {@Type}.{@Id}", typeof(MyProject.MyNamespace.MyType), id);
Expected
[INF] Instance: MyType.64b8ac0d
Actual
[INF] Instance: MyProject.MyNamespace.MyType.64b8ac0d
In addition, the fully-qualified name is green in the console output. I noticed this is also the case with System.Uri, and wonder if Serilog treats these types specially.
What can I do to affect the destructuring of System.Type?