Я создаю базовый профилировщик для проекта с открытым исходным кодом. Одним из требований является измерение времени выполнения метода. Хотя это достаточно просто, я должен сделать это, не зная метод или содержащий его класс до времени выполнения. Способ вызова профилировщика будет, когда пользователь вызовет профилировщик из IDE в активном документе. Таким образом, если class1 открыт, и пользователь щелкает правой кнопкой мыши на пустом месте в документе, выбирает профиль, тогда и только тогда класс известен.
У меня есть этот код для использования MethodInfo:
MethodInfo methodInfo = typeof(t).GetMethod(s);
T - это просто держатель общего типа (класс X, где T: class, является сигнатурой класса). s это просто строка имени метода.
У меня есть эта ошибка, однако:
Ожидается имя типа, но найдено имя параметра.
Содержащий метод этой строки кода имеет t в качестве параметра типа T, но его удаление не решает проблему. T - это просто объект, и если я предоставлю имя объекта, например, имя класса, ошибки не будет.
Что дает?
РЕДАКТИРОВАТЬ: Может быть, активатор может решить эту проблему.
Кроме того, можно ли использовать предложение where, чтобы ограничить T только статическим классом?
Спасибо