在好例子网,分享、交流、成长!
您当前所在位置:首页Others 开发实例一般编程问题 → 强制执行C#良好实践的Roslyn分析器源码(Meziantou.Analyzer)

强制执行C#良好实践的Roslyn分析器源码(Meziantou.Analyzer)

一般编程问题

下载此实例
  • 开发语言:Others
  • 实例大小:0.71M
  • 下载次数:0
  • 浏览次数:5
  • 发布时间:2024-04-29
  • 实例类别:一般编程问题
  • 发 布 人:chenxiaolan
  • 文件格式:.zip
  • 所需积分:2
 相关标签: Roslyn Ant ROS 实践 OS

实例介绍

【实例简介】

Meziantou.Analyzer是一个用于在C#中强制执行一些良好实践的Roslyn分析器,涉及设计、使用、安全、性能和风格方面。

规则

如果您已经在使用其他分析器,您可以检查哪些规则与众所周知的分析器重复。

Id Category Description Severity Is enabled Code fix
MA0001 Usage StringComparison is missing ℹ️ ✔️ ✔️
MA0002 Usage IEqualityCompareror ICompareris missing ⚠️ ✔️ ✔️
MA0003 Style Add parameter name to improve readability ℹ️ ✔️ ✔️
MA0004 Usage Use Task.ConfigureAwait ⚠️ ✔️ ✔️
MA0005 Performance Use Array.Empty() ⚠️ ✔️ ✔️
MA0006 Usage Use String.Equals instead of equality operator ⚠️ ✔️ ✔️
MA0007 Style Add a comma after the last value ℹ️ ✔️ ✔️
MA0008 Performance Add StructLayoutAttribute ⚠️ ✔️ ✔️
MA0009 Security Add regex evaluation timeout ⚠️ ✔️
MA0010 Design Mark attributes with AttributeUsageAttribute ⚠️ ✔️ ✔️
MA0011 Usage IFormatProvider is missing ⚠️ ✔️
MA0012 Design Do not raise reserved exception type ⚠️ ✔️
MA0013 Design Types should not extend Syst

【实例截图】
【核心代码】
文件清单
└── Meziantou.Analyzer-b142bc9a085961a03b8a23200fb8a416a557278f
    ├── build
    │   ├── extension-manifest.json
    │   ├── publish-vsix.ps1
    │   └── update-version.ps1
    ├── Directory.Build.props
    ├── Directory.Build.targets
    ├── docs
    │   ├── comparison-with-other-analyzers.md
    │   ├── README.md
    │   └── Rules
    │       ├── MA0001.md
    │       ├── MA0002.md
    │       ├── MA0003.md
    │       ├── MA0004.md
    │       ├── MA0005.md
    │       ├── MA0006.md
    │       ├── MA0007.md
    │       ├── MA0008.md
    │       ├── MA0009.md
    │       ├── MA0010.md
    │       ├── MA0011.md
    │       ├── MA0012.md
    │       ├── MA0013.md
    │       ├── MA0014.md
    │       ├── MA0015.md
    │       ├── MA0016.md
    │       ├── MA0017.md
    │       ├── MA0018.md
    │       ├── MA0019.md
    │       ├── MA0020.md
    │       ├── MA0021.md
    │       ├── MA0022.md
    │       ├── MA0023.md
    │       ├── MA0024.md
    │       ├── MA0025.md
    │       ├── MA0026.md
    │       ├── MA0027.md
    │       ├── MA0028.md
    │       ├── MA0029.md
    │       ├── MA0030.md
    │       ├── MA0031.md
    │       ├── MA0032.md
    │       ├── MA0033.md
    │       ├── MA0034.md
    │       ├── MA0035.md
    │       ├── MA0036.md
    │       ├── MA0037.md
    │       ├── MA0038.md
    │       ├── MA0039.md
    │       ├── MA0040.md
    │       ├── MA0041.md
    │       ├── MA0042.md
    │       ├── MA0043.md
    │       ├── MA0044.md
    │       ├── MA0045.md
    │       ├── MA0046.md
    │       ├── MA0047.md
    │       ├── MA0048.md
    │       ├── MA0049.md
    │       ├── MA0050.md
    │       ├── MA0051.md
    │       ├── MA0052.md
    │       ├── MA0053.md
    │       ├── MA0054.md
    │       ├── MA0055.md
    │       ├── MA0056.md
    │       ├── MA0057.md
    │       ├── MA0058.md
    │       ├── MA0059.md
    │       ├── MA0060.md
    │       ├── MA0061.md
    │       ├── MA0062.md
    │       ├── MA0063.md
    │       ├── MA0064.md
    │       ├── MA0065.md
    │       ├── MA0066.md
    │       ├── MA0067.md
    │       ├── MA0068.md
    │       ├── MA0069.md
    │       ├── MA0070.md
    │       ├── MA0071.md
    │       ├── MA0072.md
    │       ├── MA0073.md
    │       ├── MA0074.md
    │       ├── MA0075.md
    │       ├── MA0076.md
    │       ├── MA0077.md
    │       ├── MA0078.md
    │       ├── MA0079.md
    │       ├── MA0080.md
    │       ├── MA0081.md
    │       ├── MA0082.md
    │       ├── MA0083.md
    │       ├── MA0084.md
    │       ├── MA0085.md
    │       ├── MA0086.md
    │       ├── MA0087.md
    │       ├── MA0088.md
    │       ├── MA0089.md
    │       ├── MA0090.md
    │       ├── MA0091.md
    │       ├── MA0092.md
    │       ├── MA0093.md
    │       ├── MA0094.md
    │       ├── MA0095.md
    │       ├── MA0096.md
    │       ├── MA0097.md
    │       ├── MA0098.md
    │       ├── MA0099.md
    │       ├── MA0100.md
    │       ├── MA0101.md
    │       ├── MA0102.md
    │       ├── MA0103.md
    │       ├── MA0104.md
    │       ├── MA0105.md
    │       ├── MA0106.md
    │       ├── MA0107.md
    │       ├── MA0108.md
    │       ├── MA0109.md
    │       ├── MA0110.md
    │       ├── MA0111.md
    │       ├── MA0112.md
    │       ├── MA0113.md
    │       ├── MA0114.md
    │       ├── MA0115.md
    │       ├── MA0116.md
    │       ├── MA0117.md
    │       ├── MA0118.md
    │       ├── MA0119.md
    │       ├── MA0120.md
    │       ├── MA0121.md
    │       ├── MA0122.md
    │       ├── MA0123.md
    │       ├── MA0124.md
    │       ├── MA0125.md
    │       ├── MA0126.md
    │       ├── MA0127.md
    │       ├── MA0128.md
    │       ├── MA0129.md
    │       ├── MA0130.md
    │       ├── MA0131.md
    │       ├── MA0132.md
    │       ├── MA0133.md
    │       ├── MA0134.md
    │       ├── MA0135.md
    │       ├── MA0136.md
    │       ├── MA0137.md
    │       ├── MA0138.md
    │       ├── MA0139.md
    │       ├── MA0140.md
    │       ├── MA0141.md
    │       ├── MA0142.md
    │       ├── MA0143.md
    │       ├── MA0144.md
    │       ├── MA0145.md
    │       ├── MA0146.md
    │       ├── MA0147.md
    │       ├── MA0148.md
    │       ├── MA0149.md
    │       ├── MA0150.md
    │       ├── MA0151.md
    │       ├── MA0152.md
    │       ├── MA0153.md
    │       ├── MA0154.md
    │       └── MA0155.md
    ├── GenerateDocumentation.cmd
    ├── global.json
    ├── icon.png
    ├── LICENSE.txt
    ├── Meziantou.Analyzer.sln
    ├── README.md
    ├── renovate.json
    ├── src
    │   ├── DocumentationGenerator
    │   │   ├── DocumentationGenerator.csproj
    │   │   ├── Program.cs
    │   │   └── Properties
    │   │       └── launchSettings.json
    │   ├── ListDotNetTypes
    │   │   ├── ListDotNetTypes.csproj
    │   │   └── Program.cs
    │   ├── Meziantou.Analyzer
    │   │   ├── AssemblyInfo.cs
    │   │   ├── BannedSymbols.txt
    │   │   ├── Configurations
    │   │   │   └── AnalyzerOptionsExtensions.cs
    │   │   ├── Internals
    │   │   │   ├── AwaitableTypes.cs
    │   │   │   ├── CompilationExtensions.cs
    │   │   │   ├── ConcurrentHashSet.cs
    │   │   │   ├── ContextExtensions.cs
    │   │   │   ├── ContextExtensions.g.cs
    │   │   │   ├── ContextExtensions.tt
    │   │   │   ├── CultureSensitiveFormattingContext.cs
    │   │   │   ├── CultureSensitiveOptions.cs
    │   │   │   ├── DiagnosticFieldReportOptions.cs
    │   │   │   ├── DiagnosticInvocationReportOptions.cs
    │   │   │   ├── DiagnosticMethodReportOptions.cs
    │   │   │   ├── DiagnosticParameterReportOptions.cs
    │   │   │   ├── DiagnosticPropertyReportOptions.cs
    │   │   │   ├── DiagnosticReporter.cs
    │   │   │   ├── EnumerableExtensions.cs
    │   │   │   ├── LanguageVersionExtensions.cs
    │   │   │   ├── ListExtensions.cs
    │   │   │   ├── LocationExtensions.cs
    │   │   │   ├── MethodSymbolExtensions.cs
    │   │   │   ├── NamespaceSymbolExtensions.cs
    │   │   │   ├── ObjectPool.cs
    │   │   │   ├── OperationExtensions.cs
    │   │   │   ├── OperationUtilities.cs
    │   │   │   ├── OverloadFinder.cs
    │   │   │   ├── StringExtensions.cs
    │   │   │   ├── SuppressorHelpers.cs
    │   │   │   ├── SymbolExtensions.cs
    │   │   │   ├── SyntaxNodeExtensions.cs
    │   │   │   ├── SyntaxTokenListExtensions.cs
    │   │   │   ├── TimeSpanOperation.cs
    │   │   │   └── TypeSymbolExtensions.cs
    │   │   ├── Meziantou.Analyzer.csproj
    │   │   ├── NullableAttributes.cs
    │   │   ├── Resources
    │   │   │   ├── bcl-preview.txt
    │   │   │   └── bcl.txt
    │   │   ├── RuleCategories.cs
    │   │   ├── RuleIdentifiers.cs
    │   │   ├── Rules
    │   │   │   ├── AbstractTypesShouldNotHaveConstructorsAnalyzer.cs
    │   │   │   ├── AddOverloadWithSpanOrMemoryAnalyzer.cs
    │   │   │   ├── AnonymousDelegatesShouldNotBeUsedToUnsubscribeFromEventsAnalyzer.cs
    │   │   │   ├── ArgumentExceptionShouldSpecifyArgumentNameAnalyzerCommon.cs
    │   │   │   ├── ArgumentExceptionShouldSpecifyArgumentNameAnalyzer.cs
    │   │   │   ├── AttributeNameShouldEndWithAttributeAnalyzer.cs
    │   │   │   ├── AvoidClosureWhenUsingConcurrentDictionaryAnalyzer.cs
    │   │   │   ├── AvoidComparisonWithBoolConstantAnalyzer.cs
    │   │   │   ├── AvoidLockingOnPubliclyAccessibleInstanceAnalyzer.cs
    │   │   │   ├── AvoidUsingRedundantElseAnalyzerCommon.cs
    │   │   │   ├── AvoidUsingRedundantElseAnalyzer.cs
    │   │   │   ├── AwaitAwaitableMethodInSyncMethodAnalyzer.cs
    │   │   │   ├── AwaitTaskBeforeDisposingResourcesAnalyzer.cs
    │   │   │   ├── ClassMustBeSealedAnalyzer.cs
    │   │   │   ├── CommaAnalyzer.cs
    │   │   │   ├── ConstructorArgumentParametersShouldExistInConstructorsAnalyzer.cs
    │   │   │   ├── DebuggerDisplayAttributeShouldContainValidExpressionsAnalyzer.cs
    │   │   │   ├── DeclareTypesInNamespacesAnalyzer.cs
    │   │   │   ├── DoNotCallVirtualMethodInConstructorAnalyzer.cs
    │   │   │   ├── DoNotDeclareStaticMembersOnGenericTypes.cs
    │   │   │   ├── DoNotImplicitlyConvertDateTimeToDateTimeOffsetAnalyzer.cs
    │   │   │   ├── DoNotLogClassifiedDataAnalyzer.cs
    │   │   │   ├── DoNotNaNInComparisonsAnalyzer.cs
    │   │   │   ├── DoNotOverwriteRazorComponentParameterValue.cs
    │   │   │   ├── DoNotRaiseApplicationExceptionAnalyzer.cs
    │   │   │   ├── DoNotRaiseNotImplementedExceptionAnalyzer.cs
    │   │   │   ├── DoNotRaiseReservedExceptionTypeAnalyzer.cs
    │   │   │   ├── DoNotRemoveOriginalExceptionFromThrowStatementAnalyzer.cs
    │   │   │   ├── DoNotThrowFromFinalizerAnalyzer.cs
    │   │   │   ├── DoNotThrowFromFinallyBlockAnalyzer.cs
    │   │   │   ├── DoNotUseAsyncDelegateForSyncDelegateAnalyzer.cs
    │   │   │   ├── DoNotUseAsyncVoidAnalyzer.cs
    │   │   │   ├── DoNotUseBlockingCallInAsyncContextAnalyzer.cs
    │   │   │   ├── DoNotUseBlockingCallInAsyncContextData.cs
    │   │   │   ├── DoNotUseDefaultEqualsOnValueTypeAnalyzer.cs
    │   │   │   ├── DoNotUseEqualityComparerDefaultOfStringAnalyzer.cs
    │   │   │   ├── DoNotUseEqualityOperatorsForSpanOfCharAnalyzer.cs
    │   │   │   ├── DoNotUseFinalizerAnalyzer.cs
    │   │   │   ├── DoNotUseImplicitCultureSensitiveToStringAnalyzer.cs
    │   │   │   ├── DoNotUseServerCertificateValidationCallbackAnalyzer.cs
    │   │   │   ├── DoNotUseStringGetHashCodeAnalyzer.cs
    │   │   │   ├── DoNotUseToStringIfObjectAnalyzer.cs
    │   │   │   ├── DoNotUseUnknownParameterForRazorComponentAnalyzer.cs
    │   │   │   ├── DoNotUseZeroToInitializeAnEnumValue.cs
    │   │   │   ├── DontTagInstanceFieldsWithThreadStaticAttributeAnalyzer.cs
    │   │   │   ├── DontUseDangerousThreadingMethodsAnalyzer.cs
    │   │   │   ├── DotNotUseNameFromBCLAnalyzer.cs
    │   │   │   ├── EmbedCaughtExceptionAsInnerExceptionAnalyzer.cs
    │   │   │   ├── EqualityShouldBeCorrectlyImplementedAnalyzerCommon.cs
    │   │   │   ├── EqualityShouldBeCorrectlyImplementedAnalyzer.cs
    │   │   │   ├── EventArgsNameShouldEndWithEventArgsAnalyzer.cs
    │   │   │   ├── EventsShouldHaveProperArgumentsAnalyzer.cs
    │   │   │   ├── ExceptionNameShouldEndWithExceptionAnalyzer.cs
    │   │   │   ├── FileNameMustMatchTypeNameAnalyzer.cs
    │   │   │   ├── FixToDoAnalyzer.cs
    │   │   │   ├── GeneratedRegexAttributeUsageAnalyzer.cs
    │   │   │   ├── IfElseBranchesAreIdenticalAnalyzer.cs
    │   │   │   ├── JSInteropMustNotBeUsedInOnInitializedAnalyzer.cs
    │   │   │   ├── JSInvokableMethodsMustBePublicAnalyzer.cs
    │   │   │   ├── LocalVariablesShouldNotHideSymbolsAnalyzer.cs
    │   │   │   ├── LoggerParameterTypeAnalyzer.cs
    │   │   │   ├── MakeClassStaticAnalyzer.cs
    │   │   │   ├── MakeMemberReadOnlyAnalyzer.cs
    │   │   │   ├── MakeMethodStaticAnalyzer.cs
    │   │   │   ├── MarkAttributesWithAttributeUsageAttributeAnalyzer.cs
    │   │   │   ├── MethodOverridesShouldNotChangeParameterDefaultsAnalyzer.cs
    │   │   │   ├── MethodShouldNotBeTooLongAnalyzer.cs
    │   │   │   ├── MethodsReturningAnAwaitableTypeMustHaveTheAsyncSuffixAnalyzer.cs
    │   │   │   ├── NamedParameterAnalyzerCommon.cs
    │   │   │   ├── NamedParameterAnalyzer.cs
    │   │   │   ├── NonConstantStaticFieldsShouldNotBeVisibleAnalyzer.cs
    │   │   │   ├── NonFlagsEnumsShouldNotBeMarkedWithFlagsAttributeAnalyzer.cs
    │   │   │   ├── NullableAttributeUsageAnalyzer.cs
    │   │   │   ├── ObjectGetTypeOnTypeInstanceAnalyzer.cs
    │   │   │   ├── ObsoleteAttributesShouldIncludeExplanationsAnalyzer.cs
    │   │   │   ├── OptimizeLinqUsageAnalyzer.cs
    │   │   │   ├── OptimizeLinqUsageData.cs
    │   │   │   ├── OptimizeStartsWithAnalyzer.cs
    │   │   │   ├── OptimizeStringBuilderUsageAnalyzerCommon.cs
    │   │   │   ├── OptimizeStringBuilderUsageAnalyzer.cs
    │   │   │   ├── OptimizeStringBuilderUsageData.cs
    │   │   │   ├── OptionalParametersAttributeAnalyzer.cs
    │   │   │   ├── ParameterAttributeForRazorComponentAnalyzer.cs
    │   │   │   ├── PreferReturningCollectionAbstractionInsteadOfImplementationAnalyzer.cs
    │   │   │   ├── PreserveParamsOnOverrideAnalyzer.cs
    │   │   │   ├── PrimaryConstructorParameterShouldBeReadOnlyAnalyzer.cs
    │   │   │   ├── RegexMethodUsageAnalyzer.cs
    │   │   │   ├── RegexUsageAnalyzerBase.cs
    │   │   │   ├── RemoveEmptyBlockAnalyzer.cs
    │   │   │   ├── RemoveEmptyStatementAnalyzer.cs
    │   │   │   ├── RemoveUselessToStringAnalyzer.cs
    │   │   │   ├── ReplaceEnumToStringWithNameofAnalyzer.cs
    │   │   │   ├── ReturnTaskFromResultInsteadOfReturningNullAnalyzerCommon.cs
    │   │   │   ├── ReturnTaskFromResultInsteadOfReturningNullAnalyzer.cs
    │   │   │   ├── SequenceNumberMustBeAConstantAnalyzer.cs
    │   │   │   ├── SimplifyCallerArgumentExpressionAnalyzer.cs
    │   │   │   ├── StringShouldNotContainsNonDeterministicEndOfLineAnalyzer.cs
    │   │   │   ├── TaskInUsingAnalyzer.cs
    │   │   │   ├── ThrowIfNullWithNonNullableInstanceAnalyzer.cs
    │   │   │   ├── TypeNameMustNotMatchNamespaceAnalyzer.cs
    │   │   │   ├── TypesShouldNotExtendSystemApplicationExceptionAnalyzer.cs
    │   │   │   ├── UseAnOverloadThatHasCancellationTokenAnalyzer.cs
    │   │   │   ├── UseArrayEmptyAnalyzer.cs
    │   │   │   ├── UseConfigureAwaitAnalyzer.cs
    │   │   │   ├── UseDateTimeUnixEpochAnalyzer.cs
    │   │   │   ├── UseEventArgsEmptyAnalyzer.cs
    │   │   │   ├── UseEventHandlerOfTAnalyzer.cs
    │   │   │   ├── UseGuidEmptyAnalyzer.cs
    │   │   │   ├── UseIFormatProviderAnalyzer.cs
    │   │   │   ├── UseIsPatternInsteadOfSequenceEqualAnalyzer.cs
    │   │   │   ├── UseJSRuntimeInvokeVoidAsyncWhenReturnValueIsNotUsedAnalyzer.cs
    │   │   │   ├── UseLangwordInXmlCommentAnalyzer.cs
    │   │   │   ├── UseOperatingSystemInsteadOfRuntimeInformationAnalyzer.cs
    │   │   │   ├── UsePatternMatchingForEqualityComparisonsAnalyzer.cs
    │   │   │   ├── UsePatternMatchingForEqualityComparisonsCommon.cs
    │   │   │   ├── UseRegexSourceGeneratorAnalyzerCommon.cs
    │   │   │   ├── UseRegexSourceGeneratorAnalyzer.cs
    │   │   │   ├── UseStringComparerAnalyzer.cs
    │   │   │   ├── UseStringComparisonAnalyzer.cs
    │   │   │   ├── UseStringCreateInsteadOfFormattableStringAnalyzer.cs
    │   │   │   ├── UseStringEqualsAnalyzer.cs
    │   │   │   ├── UseStringEqualsInsteadOfIsPatternAnalyzer.cs
    │   │   │   ├── UseStructLayoutAttributeAnalyzer.cs
    │   │   │   ├── UseTaskUnwrapAnalyzer.cs
    │   │   │   ├── ValidateArgumentsCorrectlyAnalyzer.cs
    │   │   │   ├── ValidateUnsafeAccessorAttributeUsageAnalyzer.cs
    │   │   │   └── ValueReturnedByStreamReadShouldBeUsedAnalyzer.cs
    │   │   └── Suppressors
    │   │       └── CA1822DecoratedMethodSuppressor.cs
    │   ├── Meziantou.Analyzer.Annotations
    │   │   ├── Meziantou.Analyzer.Annotations.csproj
    │   │   ├── README.md
    │   │   ├── RequireNamedArgumentAttribute.cs
    │   │   └── StructuredLogFieldAttribute.cs
    │   ├── Meziantou.Analyzer.CodeFixers
    │   │   ├── Internals
    │   │   │   ├── DocumentBasedFixAllProvider.cs
    │   │   │   └── FixAllContextHelper.cs
    │   │   ├── Meziantou.Analyzer.CodeFixers.csproj
    │   │   └── Rules
    │   │       ├── AbstractTypesShouldNotHaveConstructorsFixer.cs
    │   │       ├── ArgumentExceptionShouldSpecifyArgumentNameFixer.cs
    │   │       ├── AvoidComparisonWithBoolConstantFixer.cs
    │   │       ├── AvoidUsingRedundantElseFixAllProvider.cs
    │   │       ├── AvoidUsingRedundantElseFixer.cs
    │   │       ├── ClassMustBeSealedFixer.cs
    │   │       ├── CommaFixer.cs
    │   │       ├── DoNotRemoveOriginalExceptionFromThrowStatementFixer.cs
    │   │       ├── DoNotUseBlockingCallInAsyncContextFixer.cs
    │   │       ├── DoNotUseEqualityComparerDefaultOfStringFixer.cs
    │   │       ├── DoNotUseEqualityOperatorsForSpanOfCharFixer.cs
    │   │       ├── DoNotUseStringGetHashCodeFixer.cs
    │   │       ├── EqualityShouldBeCorrectlyImplementedFixer.cs
    │   │       ├── EventsShouldHaveProperArgumentsFixer.MA0091.cs
    │   │       ├── MakeClassStaticFixer.cs
    │   │       ├── MakeMemberReadOnlyFixer.cs
    │   │       ├── MakeMethodStaticFixer.cs
    │   │       ├── MarkAttributesWithAttributeUsageAttributeFixer.cs
    │   │       ├── MethodOverridesShouldNotChangeParameterDefaultsFixer.cs
    │   │       ├── NamedParameterFixer.cs
    │   │       ├── OptimizeLinqUsageFixer.cs
    │   │       ├── OptimizeStartsWithFixer.cs
    │   │       ├── OptimizeStringBuilderUsageFixer.cs
    │   │       ├── ParameterAttributeForRazorComponentFixer.AddParameterAttribute.cs
    │   │       ├── PreserveParamsOnOverrideFixer.cs
    │   │       ├── RemoveEmptyStatementFixer.cs
    │   │       ├── RemoveUselessToStringFixer.cs
    │   │       ├── ReplaceEnumToStringWithNameofFixer.cs
    │   │       ├── ReturnTaskFromResultInsteadOfReturningNullFixer.cs
    │   │       ├── SimplifyCallerArgumentExpressionFixer.cs
    │   │       ├── StringShouldNotContainsNonDeterministicEndOfLineFixer.cs
    │   │       ├── UseAnOverloadThatHasCancellationTokenFixer_Argument.cs
    │   │       ├── UseAnOverloadThatHasCancellationTokenFixer_AwaitForEach.cs
    │   │       ├── UseArrayEmptyFixer.cs
    │   │       ├── UseConfigureAwaitFixer.cs
    │   │       ├── UseDateTimeUnixEpochFixer.cs
    │   │       ├── UseEventArgsEmptyFixer.cs
    │   │       ├── UseGuidEmptyFixer.cs
    │   │       ├── UseIsPatternInsteadOfSequenceEqualFixer.cs
    │   │       ├── UseJSRuntimeInvokeVoidAsyncWhenReturnValueIsNotUsedFixer.cs
    │   │       ├── UseLangwordInXmlCommentFixer.cs
    │   │       ├── UsePatternMatchingForEqualityComparisonsFixer.cs
    │   │       ├── UseRegexSourceGeneratorFixer.cs
    │   │       ├── UseStringComparerFixer.cs
    │   │       ├── UseStringComparisonFixer.cs
    │   │       ├── UseStringCreateInsteadOfFormattableStringFixer.cs
    │   │       ├── UseStringEqualsFixer.cs
    │   │       ├── UseStructLayoutAttributeFixer.cs
    │   │       └── ValidateArgumentsCorrectlyFixer.cs
    │   └── Meziantou.Analyzer.pack.csproj
    └── tests
        └── Meziantou.Analyzer.Test
            ├── Helpers
            │   ├── DiagnosticResult.cs
            │   ├── DiagnosticResultLocation.cs
            │   ├── ProjectBuilder.cs
            │   ├── ProjectBuilder.Validation.cs
            │   ├── SharedHttpClient.cs
            │   ├── TargetFramework.cs
            │   └── TestAnalyzerConfigOptionsProvider.cs
            ├── Meziantou.Analyzer.Test.csproj
            ├── RuleHelpUri.cs
            ├── Rules
            │   ├── AbstractTypesShouldNotHaveConstructorsAnalyzerTests.cs
            │   ├── AddOverloadWithSpanOrMemoryAnalyzerTests.cs
            │   ├── AnonymousDelegatesShouldNotBeUsedToUnsubscribeFromEventsAnalyzerTests.cs
            │   ├── ArgumentExceptionShouldSpecifyArgumentNameAnalyzerTests.cs
            │   ├── ArgumentExceptionShouldSpecifyArgumentNameAnalyzer_UseNameofTests.cs
            │   ├── AttributeNameShouldEndWithAttributeAnalyzerTests.cs
            │   ├── AvoidComparisonWithBoolConstantAnalyzerTests.cs
            │   ├── AvoidLockingOnPubliclyAccessibleInstanceAnalyzerTests.cs
            │   ├── AvoidUsingRedundantElseAnalyzerTests.cs
            │   ├── AwaitAwaitableMethodInSyncMethodAnalyzerTests.cs
            │   ├── AwaitTaskBeforeDisposingResourcesAnalyzerTests.cs
            │   ├── ClassMustBeSealedAnalyzerTests.cs
            │   ├── CommaAnalyzerTests.cs
            │   ├── ConcurrentDictionaryMustPreventClosureWhenAccessingTheKeyAnalyzerTests_MA0105.cs
            │   ├── ConcurrentDictionaryMustPreventClosureWhenAccessingTheKeyAnalyzerTests_MA0106.cs
            │   ├── ConstructorArgumentParametersShouldExistInConstructorsAnalyzerTests.cs
            │   ├── DebuggerDisplayAttributeShouldContainValidExpressionsAnalyzerTests.cs
            │   ├── DeclareTypesInNamespacesAnalyzerTests.cs
            │   ├── DoNotCallVirtualMethodInConstructorAnalyzerTests.cs
            │   ├── DoNotCompareDateTimeWithDateTimeOffsetAnalyzerTests_MA0132.cs
            │   ├── DoNotCompareDateTimeWithDateTimeOffsetAnalyzerTests_MA0133.cs
            │   ├── DoNotDeclareStaticMembersOnGenericTypesTests.cs
            │   ├── DoNotLogClassifiedDataAnalyzerTests.cs
            │   ├── DoNotNaNInComparisonsAnalyzerTests.cs
            │   ├── DoNotOverwriteRazorComponentParameterValueTests.cs
            │   ├── DoNotRaiseApplicationExceptionAnalyzerTests.cs
            │   ├── DoNotRaiseNotImplementedExceptionAnalyzerTests.cs
            │   ├── DoNotRaiseReservedExceptionTypeAnalyzerTests.cs
            │   ├── DoNotRemoveOriginalExceptionFromThrowStatementAnalyzerTests.cs
            │   ├── DoNotThrowFromFinalizerAnalyzerTests.cs
            │   ├── DoNotThrowFromFinallyBlockAnalyzerTests.cs
            │   ├── DoNotUseAsyncDelegateForSyncDelegateAnalyzerTests.cs
            │   ├── DoNotUseAsyncVoidAnalyzerTests.cs
            │   ├── DoNotUseBlockingCallInAsyncContextAnalyzer_AsyncContextTests.cs
            │   ├── DoNotUseBlockingCallInAsyncContextAnalyzer_NonAsyncContextTests.cs
            │   ├── DoNotUseDefaultEqualsOnValueTypeAnalyzer_EqualsTests.cs
            │   ├── DoNotUseDefaultEqualsOnValueTypeAnalyzer_HashSetTests.cs
            │   ├── DoNotUseEqualityComparerDefaultOfStringAnalyzerTests.cs
            │   ├── DoNotUseEqualityOperatorsForSpanOfCharAnalyzerTests.cs
            │   ├── DoNotUseFinalizerAnalyzerTests.cs.cs
            │   ├── DoNotUseImplicitCultureSensitiveToStringAnalyzerTests.cs
            │   ├── DoNotUseServerCertificateValidationCallbackAnalyzerTests.cs
            │   ├── DoNotUseStringGetHashCodeAnalyzerTests.cs
            │   ├── DoNotUseToStringIfObjectAnalyzerTests.cs
            │   ├── DoNotUseUnknownParameterForRazorComponentAnalyzerTests.cs
            │   ├── DoNotUseZeroToInitializeAnEnumValueTests.cs
            │   ├── DontTagInstanceFieldsWithThreadStaticAttributeAnalyzerTests.cs
            │   ├── DontUseDangerousThreadingMethodsAnalyzerTests.cs
            │   ├── DotNotUseNameFromBCLAnalyzerTests.cs
            │   ├── EmbedCaughtExceptionAsInnerExceptionAnalyzerTests.cs
            │   ├── EqualityShouldBeCorrectlyImplementedAnalyzerMA0077Tests.cs
            │   ├── EqualityShouldBeCorrectlyImplementedAnalyzerMA0094Tests.cs
            │   ├── EqualityShouldBeCorrectlyImplementedAnalyzerMA0097Tests.cs
            │   ├── EventArgsNameShouldEndWithEventArgsAnalyzerTests.cs
            │   ├── EventsShouldHaveProperArgumentsAnalyzerTests.cs
            │   ├── ExceptionNameShouldEndWithExceptionAnalyzerTests.cs
            │   ├── FileNameMustMatchTypeNameAnalyzerTests.cs
            │   ├── FixToDoAnalyzerTests.cs
            │   ├── IfElseBranchesAreIdenticalAnalyzerTests.cs
            │   ├── JSInteropMustNotBeUsedInOnInitializedAnalyzerTests.cs
            │   ├── JSInvokableMethodsMustBePublicAnalyzerTests.cs
            │   ├── LocalVariablesShouldNotHideSymbolsAnalyzerTests.cs
            │   ├── LoggerParameterTypeAnalyzer_SerilogTests.cs
            │   ├── LoggerParameterTypeAnalyzerTests.cs
            │   ├── MakeClassStaticAnalyzerTests.cs
            │   ├── MakeMemberReadOnlyAnalyzerTests.cs
            │   ├── MakeMethodStaticAnalyzerTests_Methods.cs
            │   ├── MakeMethodStaticAnalyzerTests_Properties.cs
            │   ├── MarkAttributesWithAttributeUsageAttributeTests.cs
            │   ├── MethodOverridesShouldNotChangeParameterDefaultsAnalyzerTests.cs
            │   ├── MethodShouldNotBeTooLongAnalyzerTests.cs
            │   ├── MethodsReturningAnAwaitableTypeMustHaveTheAsyncSuffixAnalyzerTests.cs
            │   ├── NamedParameterAnalyzerTests.cs
            │   ├── NonConstantStaticFieldsShouldNotBeVisibleAnalyzerTests.cs
            │   ├── NonFlagsEnumsShouldNotBeMarkedWithFlagsAttributeAnalyzerTests.cs
            │   ├── NullableAttributeUsageAnalyzerTests.cs
            │   ├── ObjectGetTypeOnTypeInstanceAnalyzerTests.cs
            │   ├── ObsoleteAttributesShouldIncludeExplanationsAnalyzerTests.cs
            │   ├── OptimizeLinqUsageAnalyzerCombineLinqMethodsTests.cs
            │   ├── OptimizeLinqUsageAnalyzerCountTests.cs
            │   ├── OptimizeLinqUsageAnalyzerDuplicateOrderByTests.cs
            │   ├── OptimizeLinqUsageAnalyzerUseCastInsteadOfSelectTests.cs
            │   ├── OptimizeLinqUsageAnalyzerUseCountInsteadOfAnyTests.cs
            │   ├── OptimizeLinqUsageAnalyzerUseDirectMethodsTests.cs
            │   ├── OptimizeLinqUsageAnalyzerUseIndexerTests.cs
            │   ├── OptimizeLinqUsageAnalyzerWhereBeforeOrderByTests.cs
            │   ├── OptimizeStartsWithAnalyzerTests.cs
            │   ├── OptimizeStringBuilderUsageAnalyzerTests.cs
            │   ├── OptionalParametersAttributeAnalyzerMA0087Tests.cs
            │   ├── OptionalParametersAttributeAnalyzerMA0088Tests.cs
            │   ├── ParameterAttributeForRazorComponentAnalyzerTests.cs
            │   ├── PreferReturningCollectionAbstractionInsteadOfImplementationAnalyzerTests.cs
            │   ├── PreserveParamsOnOverrideAnalyzerTests.cs
            │   ├── PrimaryConstructorParameterShouldBeReadOnlyAnalyzerTests.cs
            │   ├── RemoveEmptyBlockAnalyzerTests.cs
            │   ├── RemoveEmptyStatementAnalyzerTests.cs
            │   ├── RemoveUselessToStringAnalyzerTests.cs
            │   ├── ReplaceEnumToStringWithNameofAnalyzerTests.cs
            │   ├── ReturnTaskFromResultInsteadOfReturningNullAnalyzerTests.cs
            │   ├── SequenceNumberMustBeAConstantAnalyzerTests.cs
            │   ├── SimplifyCallerArgumentExpressionAnalyzerTests.cs
            │   ├── StringShouldNotContainsNonDeterministicEndOfLineAnalyzerTests.cs
            │   ├── TaskInUsingAnalyzerTests.cs
            │   ├── ThrowIfNullWithNonNullableInstanceAnalyzerTests.cs
            │   ├── TypeNameMustNotMatchNamespaceAnalyzerTests.cs
            │   ├── TypesShouldNotExtendSystemApplicationExceptionAnalyzerTests.cs
            │   ├── UseAnOverloadThatHasCancellationTokenAnalyzerTests.cs
            │   ├── UseArrayEmptyAnalyzerTests.cs
            │   ├── UseConfigureAwaitAnalyzerTests.cs
            │   ├── UseDateTimeUnixEpochAnalyzerTests.cs
            │   ├── UseEventArgsEmptyAnalyzerTests.cs
            │   ├── UseEventHandlerOfTAnalyzerTests.cs
            │   ├── UseGuidEmptyAnalyzerTests.cs
            │   ├── UseIFormatProviderAnalyzerTests.cs
            │   ├── UseIsPatternInsteadOfSequenceEqualAnalyzerTests.cs
            │   ├── UseJSRuntimeInvokeVoidAsyncWhenReturnValueIsNotUsedTests.cs
            │   ├── UseLangwordInXmlCommentAnalyzerTests.cs
            │   ├── UseOperatingSystemInsteadOfRuntimeInformationAnalyzerTests.cs
            │   ├── UsePatternMatchingForEqualityComparisonsAnalyzerTests.cs
            │   ├── UseRegexOptionsAnalyzerTests.cs
            │   ├── UseRegexSourceGeneratorAnalyzerTests.cs
            │   ├── UseRegexTimeoutAnalyzerTests.cs
            │   ├── UseStringComparerAnalyzerTests.cs
            │   ├── UseStringComparisonAnalyzerNonCultureSensitiveTests.cs
            │   ├── UseStringComparisonAnalyzerTests.cs
            │   ├── UseStringCreateInsteadOfFormattableStringAnalyzerTests.cs
            │   ├── UseStringEqualsAnalyzerTests.cs
            │   ├── UseStringEqualsInsteadOfIsPatternAnalyzerTests.cs
            │   ├── UseStructLayoutAttributeAnalyzerTests.cs
            │   ├── UseTaskUnwrapAnalyzerTests.cs
            │   ├── ValidateArgumentsCorrectlyAnalyzerTests.cs
            │   ├── ValidateUnsafeAccessorAttributeUsageAnalyzerTests.cs
            │   └── ValueReturnedByStreamReadShouldBeUsedAnalyzerTests.cs
            └── Suppressors
                └── CA1822DecoratedMethodSuppressorTests.cs

23 directories, 542 files

标签: Roslyn Ant ROS 实践 OS

实例下载地址

强制执行C#良好实践的Roslyn分析器源码(Meziantou.Analyzer)

不能下载?内容有错? 点击这里报错 + 投诉 + 提问

好例子网口号:伸出你的我的手 — 分享

网友评论

发表评论

(您的评论需要经过审核才能显示)

查看所有0条评论>>

小贴士

感谢您为本站写下的评论,您的评论对其它用户来说具有重要的参考价值,所以请认真填写。

  • 类似“顶”、“沙发”之类没有营养的文字,对勤劳贡献的楼主来说是令人沮丧的反馈信息。
  • 相信您也不想看到一排文字/表情墙,所以请不要反馈意义不大的重复字符,也请尽量不要纯表情的回复。
  • 提问之前请再仔细看一遍楼主的说明,或许是您遗漏了。
  • 请勿到处挖坑绊人、招贴广告。既占空间让人厌烦,又没人会搭理,于人于己都无利。

关于好例子网

本站旨在为广大IT学习爱好者提供一个非营利性互相学习交流分享平台。本站所有资源都可以被免费获取学习研究。本站资源来自网友分享,对搜索内容的合法性不具有预见性、识别性、控制性,仅供学习研究,请务必在下载后24小时内给予删除,不得用于其他任何用途,否则后果自负。基于互联网的特殊性,平台无法对用户传输的作品、信息、内容的权属或合法性、安全性、合规性、真实性、科学性、完整权、有效性等进行实质审查;无论平台是否已进行审查,用户均应自行承担因其传输的作品、信息、内容而可能或已经产生的侵权或权属纠纷等法律责任。本站所有资源不代表本站的观点或立场,基于网友分享,根据中国法律《信息网络传播权保护条例》第二十二与二十三条之规定,若资源存在侵权或相关问题请联系本站客服人员,点此联系我们。关于更多版权及免责申明参见 版权及免责申明

;
报警