gpt4 book ai didi

c# - 在 Fody/Mono.Cecil 中获取 CustomAttribute 的 SequencePoint

转载 作者:行者123 更新时间:2023-11-30 22:00:36 32 4
gpt4 key购买 nike

我正在编写一个 Fody 插件,我能够注入(inject)我的代码并向用户提供错误消息。我能够确定指令的序列点,但找不到找到 CustomAttributes 序列点的方法。

我需要获取此信息,以便为调试器提供一个提示,提示在何处查找错误位置,以防属性应用错误。

所以基本上我有这样的东西:

[MyAttribute]
public void Test()
{

}

现在我想获取MyAttribute属性的SequencePoint。

我可以像这样访问指令的序列点:

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?
}

最佳答案

这是不可能的。属性没有序列点。

我建议您只使用该方法的第一个序列点。

关于c# - 在 Fody/Mono.Cecil 中获取 CustomAttribute 的 SequencePoint,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28417648/

32 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com