Я пишу Fody Addin, и я могу ввести свой код и предоставить сообщения об ошибках пользователю. Я могу определить точки последовательности инструкций, но я не могу найти способ найти точки последовательности CustomAttributes.Получить SequencePoint для CustomAttribute в Fody/Mono.Cecil
Мне нужно получить эту информацию, чтобы предоставить отладчику подсказку, где найти местоположение ошибки, в случае, если атрибут был применен неправильно.
Так в основном у меня есть что-то вроде этого:
[MyAttribute]
public void Test()
{
}
Теперь я хочу, чтобы получить SequencePoint от MyAttribute атрибута.
** Редактировать: ** Как я уже проголосовал (без какой-либо информации, почему) здесь есть дополнительная информация. Я могу получить доступ к точке последовательности инструкций, как это:
public static SequencePoint GetSP(MethodDefinition method)
{
return method.Body.Instructions
.Where(instruction => instruction.SequencePoint != null)
.Select(instruction => instruction.SequencePoint)
.FirstOrDefault();
}
Это прекрасно работает для получения инструкций, но когда я доступ к атрибуту, я не знаю, как получить точку последовательности:
public static SequencePoint GetSP(MethodDefinition method)
{
var attribute = method.CustomAttributes.First();
// what to enter here to get SequencePoint of attribute?
}