本文整理汇总了C#中Microsoft.CodeAnalysis.Project.GetProjectNavInfoName方法的典型用法代码示例。如果您正苦于以下问题:C# Project.GetProjectNavInfoName方法的具体用法?C# Project.GetProjectNavInfoName怎么用?C# Project.GetProjectNavInfoName使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类Microsoft.CodeAnalysis.Project
的用法示例。
在下文中一共展示了Project.GetProjectNavInfoName方法的2个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C#代码示例。
示例1: GetProjectNavInfo
internal IVsNavInfo GetProjectNavInfo(Project project)
{
return new NavInfo(
this.LibraryGuid,
this.SymbolToolLanguage,
project.GetProjectNavInfoName());
}
示例2: CreateNavInfo
private IVsNavInfo CreateNavInfo(
IAssemblySymbol containingAssembly,
Project project,
Compilation compilation,
bool useExpandedHierarchy,
string namespaceName = null,
string className = null,
string memberName = null)
{
Debug.Assert(containingAssembly != null);
Debug.Assert(compilation != null);
var portableExecutableReference = compilation.GetMetadataReference(containingAssembly) as PortableExecutableReference;
var assemblyName = portableExecutableReference != null
? portableExecutableReference.FilePath
: containingAssembly.Identity.Name;
var isReferencedAssembly = !containingAssembly.Identity.Equals(compilation.Assembly.Identity);
// useExpandedHierarchy is true when references are nested inside the project by the
// hierarchy. In Class View, they are nested in the Project References node. In Object Browser,
// they are not.
//
// In the case that references are nested inside of the project, we need to create the nav info
// differently:
//
// project -> containing assembly -> namespace -> type
//
// Otherwise, we create it like so:
//
// containing assembly -> namespace -> type
var libraryName = isReferencedAssembly
? assemblyName
: project.GetProjectNavInfoName();
var metadataProjectItem = useExpandedHierarchy && isReferencedAssembly
? project.GetProjectNavInfoName()
: null;
return new NavInfo(
this.LibraryGuid,
this.SymbolToolLanguage,
libraryName,
metadataProjectItem,
namespaceName,
className,
memberName);
}