Могу ли я получить подпись делегата С# по типу?
Есть ли простой способ использовать отражение, чтобы получить список параметров для делегата, если у вас есть его информация о типе?
В качестве примера, если я объявляю тип делегата следующим образом
delegate double FooDelegate (string param, bool condition);
а затем получить информацию типа для этого типа делегата следующим образом
Type delegateType = typeof(FooDelegate);
Можно ли получить возвращаемый тип (double) и список параметров ({string, bool}) из этого информационного объекта типа?
Ответы
Ответ 1
MethodInfo method = delegateType.GetMethod("Invoke");
Console.WriteLine(method.ReturnType.Name + " (ret)");
foreach (ParameterInfo param in method.GetParameters()) {
Console.WriteLine("{0} {1}", param.ParameterType.Name, param.Name);
}