Задать вопрос
@JuniorNoobie
Сижу в поддержке, пишу мелкие проекты

Как вернуть имя функции, которая хранится в делегате?

Добрый день!
Подскажите как это сделать. Вот пример:
namespace bla_bla_bla
{
      public delegate string bonusFunction(Game game);

      public static class Bonus
     {
            public static string Kattenacho(Game game)
            {
                  return "Каттеначо";
            }
      }

      class Program
      {
             static void Main(string[] args)
             {
                      bonusFunction b = Bonus.Kattenacho;
                      Console.WriteLine(b.GetType().FullName);
             }
      }
}

Естественно, он выдает мне bla_bla_bla.bonusFunction. Что мне написать, чтобы он выдавал bla_bla_bla.Bonus.Kattenacho?
  • Вопрос задан
  • 299 просмотров
Подписаться 2 Оценить 2 комментария
Решения вопроса 1
@ar4ebaldello
bonusFunction b = Bonus.Kattenacho;
Type methodHost = b.Method.DeclaringType;
string methodName = b.Method.Name;
Console.WriteLine("{0} -> {1}", methodHost.FullName, methodName);
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы