コード例 #1
0
ファイル: ModelVisitor.cs プロジェクト: noah1510/dotdevelop
        public static List <ITypeSymbol> FindModelTypes(IAssemblySymbol assembly)
        {
            var visitor = new ModelVisitor();

            visitor.Visit(assembly);
            return(visitor._types);
        }
コード例 #2
0
ファイル: ScaffolderBase.cs プロジェクト: nextpbx/monodevelop
        async Task <IEnumerable <string> > GetModelClassesAsync(DotNetProject project, CancellationToken token)
        {
            var compilation = await IdeApp.TypeSystemService.GetCompilationAsync(project, token);

            if (compilation != null)
            {
                var modelTypes     = ModelVisitor.FindModelTypes(compilation.Assembly);
                var dbContextTypes = await GetDbContextClassesAsync(project, token);

                return(modelTypes.Select(t => t.MetadataName).Except(dbContextTypes).Distinct().OrderBy(x => x));
            }
            return(Enumerable.Empty <string> ());
        }