Ich habe den Aspekt wie folgt definiert:
Code: Select all
[AttributeUsage(AttributeTargets.Method)]
public class ExceptionReturnValueAttribute : MethodAspect
{
private static readonly DiagnosticDefinition InvalidReturnType = new("MY1023",
Severity.Error,
"{0}"
);
public override void BuildAspect(IAspectBuilder builder)
{
var isReturnTypeValid = IsReturnTypeValid(builder.Target.ReturnType.ToType());
if (!isReturnTypeValid.IsValid)
{
builder.Diagnostics.Report(InvalidReturnType.WithArguments(isReturnTypeValid.Message));
}
}
}
MY1023: MY1023 wurde im Benutzerprofil nicht definiert und wurde durch eine generische Diagnose-ID ersetzt.
Das verstehe ich jedoch nicht warum die ID ersetzt wird. Die Diagnose ist als statisches schreibgeschütztes-Feld definiert, ich rufe es mit builder.Diagnostic.Report auf und die Meldung ist korrekt, daher verstehe ich nicht, warum sie sagt, dass sie nicht im Benutzerprofil definiert ist und sie durch einen eigenen LAMA-Code ersetzt.
Gibt es noch etwas, das mir fehlt oder benötige, da dies laut Dokumentation alles zu sein schien, was benötigt werden sollte? Für jede Hilfe/Anleitung wäre ich sehr dankbar. TIA.
Mobile version