实例介绍
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
小贴士
感谢您为本站写下的评论,您的评论对其它用户来说具有重要的参考价值,所以请认真填写。
- 类似“顶”、“沙发”之类没有营养的文字,对勤劳贡献的楼主来说是令人沮丧的反馈信息。
- 相信您也不想看到一排文字/表情墙,所以请不要反馈意义不大的重复字符,也请尽量不要纯表情的回复。
- 提问之前请再仔细看一遍楼主的说明,或许是您遗漏了。
- 请勿到处挖坑绊人、招贴广告。既占空间让人厌烦,又没人会搭理,于人于己都无利。
关于好例子网
本站旨在为广大IT学习爱好者提供一个非营利性互相学习交流分享平台。本站所有资源都可以被免费获取学习研究。本站资源来自网友分享,对搜索内容的合法性不具有预见性、识别性、控制性,仅供学习研究,请务必在下载后24小时内给予删除,不得用于其他任何用途,否则后果自负。基于互联网的特殊性,平台无法对用户传输的作品、信息、内容的权属或合法性、安全性、合规性、真实性、科学性、完整权、有效性等进行实质审查;无论平台是否已进行审查,用户均应自行承担因其传输的作品、信息、内容而可能或已经产生的侵权或权属纠纷等法律责任。本站所有资源不代表本站的观点或立场,基于网友分享,根据中国法律《信息网络传播权保护条例》第二十二与二十三条之规定,若资源存在侵权或相关问题请联系本站客服人员,点此联系我们。关于更多版权及免责申明参见 版权及免责申明
网友评论
我要评论