Esempio n. 1
0
        public override void Initialize(AnalysisContext analysisContext)
        {
            analysisContext.RegisterCompilationStartAction(
                (context) =>
            {
                INamedTypeSymbol iCollectionType = WellKnownTypes.ICollection(context.Compilation);
                INamedTypeSymbol arrayType       = WellKnownTypes.Array(context.Compilation);

                if (iCollectionType == null || arrayType == null)
                {
                    return;
                }

                context.RegisterSymbolAction(c => AnalyzeSymbol(c, iCollectionType, arrayType), SymbolKind.Property);
            });
        }
        public override void Initialize(AnalysisContext analysisContext)
        {
            analysisContext.EnableConcurrentExecution();
            analysisContext.ConfigureGeneratedCodeAnalysis(GeneratedCodeAnalysisFlags.None);

            analysisContext.RegisterCompilationStartAction(
                (context) =>
            {
                INamedTypeSymbol iCollectionType     = WellKnownTypes.ICollection(context.Compilation);
                INamedTypeSymbol arrayType           = WellKnownTypes.Array(context.Compilation);
                INamedTypeSymbol dataMemberAttribute = WellKnownTypes.DataMemberAttribute(context.Compilation);

                if (iCollectionType == null || arrayType == null)
                {
                    return;
                }

                context.RegisterSymbolAction(c => AnalyzeSymbol(c, iCollectionType, arrayType, dataMemberAttribute), SymbolKind.Property);
            });
        }