本文整理汇总了C#中IClass.GetPsiServices方法的典型用法代码示例。如果您正苦于以下问题:C# IClass.GetPsiServices方法的具体用法?C# IClass.GetPsiServices怎么用?C# IClass.GetPsiServices使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类IClass
的用法示例。
在下文中一共展示了IClass.GetPsiServices方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C#代码示例。
示例1: GetPrimaryDeclaredElementForClass
public static IDeclaredElement GetPrimaryDeclaredElementForClass(IClass @class)
{
string className = @class.ShortName;
var cache = @class.GetPsiServices().Solution.GetComponent<PsiCache>();
List<IPsiSymbol> symbols = cache.GetSymbols(PsiRenamesFactory.NameFromCamelCase(className)).ToList();
if (symbols.Count > 0)
{
IPsiSymbol symbol = symbols.ToArray()[0];
ITreeNode element =
symbol.SourceFile.GetPsiFile<PsiLanguage>(new DocumentRange(symbol.SourceFile.Document, 0)).FindNodeAt(new TreeTextRange(new TreeOffset(symbol.Offset), 1));
while (element != null)
{
if (element is IDeclaredElement)
{
{
return (IDeclaredElement)element;
}
}
element = element.Parent;
}
{
return null;
}
}
return null;
}