Ausgezeichnete Antwort von Jon Skeet.
Wenn Sie jedoch .NET 4.5
nicht verwenden, können Sie reflection
versuchen. Wie auch immer du das wissen solltest reflection must be used only when it is absolutely necessary. Do not over-use it for the sake of using it
.
Zurückkommen, Du könntest etwas wie
machen %Vor%In Ihrem Fall wäre es wie folgt,
%Vor%BEARBEITEN:
Wie in den unten stehenden Kommentaren von @Jon Skeet's zu lesen ist, wenn Sie .Net 4.5
nette und nette Implementierung wünschen, schauen Sie sich das Micrsoft.Bcl
NUGET Paket an.
Ab C # 5 ist das sehr einfach mit Anrufer-Info-Attributen :
%Vor%Damit das funktioniert:
Microsoft.Bcl
NuGet-Paket verwenden
Aspect Oriented Programming (AOP) ermöglicht normalerweise, solche Aufgaben zu erfüllen. Sie können sich die kostenlose Version von PostSharp ansehen, insbesondere die Protokollierungsaspekt ist in Ihrem Fall hilfreich.
Ihr Code sieht dann so aus:
%Vor%Sie können PostSharp bis zum .NET Framework 2.0 verwenden.
Tags und Links c# methods parameter-passing