Вы можете использовать свойство Method
для получения MethodInfo
, которое должно иметь полезное имя.
Delegate[] actions = updateActions.GetInvocationList();
foreach ( Delegate del in actions )
{
Debug.Log( del.Method.ReflectedType.FullName + "." + del.Method.Name );
}
Вы можете использовать del.Method.ToString()
, если хотите подпись, или del.Method.Name
, если выхочу только имя.del.Method.ReflectedType.FullName
дает вам имя типа.
Для лямбда-выражений / анонимных методов имя может быть не слишком полезным, поскольку они имеют только имя, сгенерированное компилятором.В текущей реализации имя лямбды выглядит примерно так: <Main>b__0
, где Main
- это имя метода, который содержит лямбду.Вместе с именем типа это должно дать вам приличное представление о том, что это за лямбда.