Ich erstelle eine Erweiterungsmethode für IList, um die angegebenen Eigenschaften eines Objekts als Liste ausgeben und als CSV-String ausgeben zu können. Es sieht so aus:
%Vor%Im Moment muss ich diese Methode wie folgt nennen:
%Vor%Gibt es eine bessere Möglichkeit, meine Lambda-Ausdrücke zu übergeben, ohne die Spaltenvariable explizit deklarieren zu müssen, etwa so:
%Vor% Anstatt ein List<Func<T, string>>
zu verwenden, verwenden Sie Func<T, string>[]
und machen es zu einem Parameter-Array :
Dann sollten Sie in der Lage sein anzurufen:
%Vor%Beachten Sie, dass Sie ab C # 6 schreiben können:
%Vor% ... was bedeuten würde, dass du es auch mit List<Func<T, string>>
benutzen könntest.
Übergeben Sie es als params-Array
%Vor%Damit können Sie es als
aufrufen %Vor%Lockern Sie als Vorschlag auch die Rückgabe der Funktion an ein Objekt und rufen Sie anschließend ToString () auf, wenn Sie die Teile zusammensetzen. Auf diese Weise können Sie beliebige Eigenschaften in die CSV-Liste übernehmen, nicht nur Zeichenfolgen.