当前位置: 首页>>代码示例>>C#>>正文


C# Compilation.GetSymbolsWithName方法代码示例

本文整理汇总了C#中Compilation.GetSymbolsWithName方法的典型用法代码示例。如果您正苦于以下问题:C# Compilation.GetSymbolsWithName方法的具体用法?C# Compilation.GetSymbolsWithName怎么用?C# Compilation.GetSymbolsWithName使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在Compilation的用法示例。


在下文中一共展示了Compilation.GetSymbolsWithName方法的2个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C#代码示例。

示例1: GetAllEntityTypesFromDbContext

        public static IEnumerable<INamedTypeSymbol> GetAllEntityTypesFromDbContext(Compilation compilation, out INamedTypeSymbol dbContextTypeSymbol)
        {
            var allTypeSymbols = compilation.GetSymbolsWithName(s => true, SymbolFilter.Type).Cast<INamedTypeSymbol>();

            dbContextTypeSymbol = allTypeSymbols.Single(t => t.BaseType.Name == "DbContext");
            var entityTypeSymbols = dbContextTypeSymbol
                .GetMembers()
                .Where(m => m.Kind == SymbolKind.Property)
                .Cast<IPropertySymbol>()
                .Where(p => p.Type.Name == "DbSet")
                .Select(p => p.Type)
                .Cast<INamedTypeSymbol>()
                .Select(t => t.TypeArguments[0])
                .Cast<INamedTypeSymbol>();

            return entityTypeSymbols;
        }
开发者ID:RicardoNiepel,项目名称:Z3.ObjectTheorem,代码行数:17,代码来源:SymbolHelper.cs

示例2: GetTypeByName

 public static INamedTypeSymbol GetTypeByName(string className, Compilation compilation)
 {
     var type = compilation.GetTypeByMetadataName(className);
     // Another way to access the info
     if (type == null)
     {
         Func<string, bool> pred = s => { return s.Equals(className); };
         var symbols = compilation.GetSymbolsWithName(pred, SymbolFilter.Type);
         if (symbols.Count() > 0)
         {
             type = symbols.First() as INamedTypeSymbol;
         }
     }
     return type;
 }
开发者ID:TubaKayaDev,项目名称:Call-Graph-Builder-DotNet,代码行数:15,代码来源:RoslynSymbolFactory.cs


注:本文中的Compilation.GetSymbolsWithName方法示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。