У меня есть метод:
public static Delegate MethodToDelegate(MethodInfo method)
{
Delegate d = ...;
// использовать ТОЛЬКО параметр method и d
return d;
}
Как мне создать делегат d в этом методе. Я знаю, что можно использовать метод CreateDelegate, но как мне узнать тип делегата?
ParameterInfo[] pars = method.GetParameters();
List<Type> param = new List<Type>();
List<Type> methods = new List<Type>();
methods.Add(method.ReturnType);
foreach (ParameterInfo p in pars)
{
param.Add(p.ParameterType);
}
Delegate d = method.CreateDelegate(Expression.GetDelegateType(param.Union(methods).ToArray()));
return d;
Но будьте внимательны передаваемый метод должен быть статическим, а так же не должен быть IsGenericMethod
Основные этапы разработки сайта для стоматологической клиники
Продвижение своими сайтами как стратегия роста и независимости