Mas*_*ity 7 .net c# code-generation visual-studio-2010 visual-studio
所以我正在玩EnvDTE
,和EnvDTE.CodeModel
API,我想知道是否有办法获得由a表示的文本值CodeElement
.
假设我有一个CodeAttribute
,是否有某种方法来获得代表string
的东西CodeAttribute
,即[MyAttribute(value="myvalue")]
.
我知道可以使用它的各种属性来重构代码CodeElement
,至少在某些情况下,但是对于某些事情来说,似乎更容易获得文本.
谢谢!
该CodeElement
接口具有 和 属性StartPoint
,EndPoint
它们表示缓冲区内元素的开始和结束。它们包含行号/列,可以传递给类似的方法IVsTextLines.GetLineText
,并返回您正在寻找的值。
要获得IVsTextLines
给定的,CodeElement
您可以执行以下操作
CodeElement ce = ...;
TextDocument td = ce.StartPoint.Parent;
IVsTextLines lines = td as IVsTextLines;
Run Code Online (Sandbox Code Playgroud)