Przeglądasz, przeszukujesz i masz nadzieję, ale nie możesz znaleźć prostej odpowiedzi.Używanie nameof do uzyskania nazwy aktualnej metody
Czy mimo to w C# 6.0 pobierano bieżącą nazwę metody za pomocą nameof
bez podania nazwy metody?
dodaję moje wyniki badań do słownika tak:
Results.Add(nameof(Process_AddingTwoConsents_ThreeExpectedRowsAreWrittenToStream), result);
wolałbym, gdybym nie musiał podać nazwę metody wyraźnie więc mogę skopiować + wklej linii, nie- przykładem pracy:
Results.Add(nameof(this.GetExecutingMethod()), result);
Jeśli to możliwe nie chcę użyć refleksji.
UPDATE
To nie jest (jak sugerowano) duplikat this question. Pytam, czy jest możliwe jawne użycie nameof
bez (!) Odbicia, aby uzyskać bieżącą nazwę metody.
A dlaczego nie używasz tego: http://stackoverflow.com/questions/44153/can-you-use-reflection-to-find-nazwa-the-the-currently-executing-method? – HimBromBeere
Możesz użyć 'StackTrace', aby uzyskać takie informacje, ale jest to powolne. Aby osiągnąć coś automatycznego, możesz użyć generowania kodu (np. Narzędzia uruchamianego przed kompilatorem i zamieniającego coś na coś innego) lub AOP (zobacz [to] (http://stackoverflow.com/q/25803/1997232)). – Sinatr
Czy to nie wystarczy? 'System.Reflection.MethodInfo.GetCurrentMethod(). Nazwa' – Zorkind