private static MethodInfo GetMethodInfo(int id)
{
return typeof(Methods).GetMethods().
Where(x => x.GetCustomAttributes(false).OfType<MethodId>().Count() > 0)
.Where(x => x.GetCustomAttributes(false).OfType<MethodId>().First().methodId == id)
.First();
}
И использование:
var methodInfo = GetMethodInfo(1);
methodInfo.Invoke(new Methods(), null);
ПРИМЕЧАНИЕ:
Это решение предназначено только для отображения, как это сделать. Не оптимизирован для производительности. В идеале вы бы кешировали methodInfos.