ThinkMeta.CodeAnalysis.CSharp
1.0.4
See the version list below for details.
dotnet add package ThinkMeta.CodeAnalysis.CSharp --version 1.0.4
NuGet\Install-Package ThinkMeta.CodeAnalysis.CSharp -Version 1.0.4
<PackageReference Include="ThinkMeta.CodeAnalysis.CSharp" Version="1.0.4" />
<PackageVersion Include="ThinkMeta.CodeAnalysis.CSharp" Version="1.0.4" />
<PackageReference Include="ThinkMeta.CodeAnalysis.CSharp" />
paket add ThinkMeta.CodeAnalysis.CSharp --version 1.0.4
#r "nuget: ThinkMeta.CodeAnalysis.CSharp, 1.0.4"
#:package ThinkMeta.CodeAnalysis.CSharp@1.0.4
#addin nuget:?package=ThinkMeta.CodeAnalysis.CSharp&version=1.0.4
#tool nuget:?package=ThinkMeta.CodeAnalysis.CSharp&version=1.0.4
ThinkMeta.CodeAnalysis
Static code analyzer for C#
ThinkMeta.CodeAnalysis.CSharp<br>
Overview
ThinkMeta.CodeAnalysis is a static code analyzer for C# projects, built on Roslyn. It helps developers identify code issues, enforce coding standards, and improve code quality automatically.
Features
- Detects common code issues and anti-patterns
- Supports custom analyzers and code fixes
- Integrates with .NET build and IDE tooling
- Targets .NET Standard 2.0 for broad compatibility
Diagnostics
TM0001: Use pattern matching for null checks
Description:
Warns when using == null or != null for null checks.
Reason:
Pattern matching (is null, is not null) is preferred for clarity and future-proofing code.
How to fix:
Replace == null with is null, and != null with is not null.
Exceptions:
Null checks using == null or != null inside expression trees (e.g., lambdas assigned to Expression<Func<...>>) are not reported by this diagnostic, as pattern matching is not supported in expression trees.
Example:
// Bad
if (obj == null) { }
// Good
if (obj is null) { }
Example (no warning):
using System.Linq.Expressions;
Expression<Func<object, bool>> expr = o => o == null; // No diagnostic
| Product | Versions Compatible and additional computed target framework versions. |
|---|---|
| .NET | net5.0 was computed. net5.0-windows was computed. net6.0 was computed. net6.0-android was computed. net6.0-ios was computed. net6.0-maccatalyst was computed. net6.0-macos was computed. net6.0-tvos was computed. net6.0-windows was computed. net7.0 was computed. net7.0-android was computed. net7.0-ios was computed. net7.0-maccatalyst was computed. net7.0-macos was computed. net7.0-tvos was computed. net7.0-windows was computed. net8.0 was computed. net8.0-android was computed. net8.0-browser was computed. net8.0-ios was computed. net8.0-maccatalyst was computed. net8.0-macos was computed. net8.0-tvos was computed. net8.0-windows was computed. net9.0 was computed. net9.0-android was computed. net9.0-browser was computed. net9.0-ios was computed. net9.0-maccatalyst was computed. net9.0-macos was computed. net9.0-tvos was computed. net9.0-windows was computed. net10.0 was computed. net10.0-android was computed. net10.0-browser was computed. net10.0-ios was computed. net10.0-maccatalyst was computed. net10.0-macos was computed. net10.0-tvos was computed. net10.0-windows was computed. |
| .NET Core | netcoreapp2.0 was computed. netcoreapp2.1 was computed. netcoreapp2.2 was computed. netcoreapp3.0 was computed. netcoreapp3.1 was computed. |
| .NET Standard | netstandard2.0 is compatible. netstandard2.1 was computed. |
| .NET Framework | net461 was computed. net462 was computed. net463 was computed. net47 was computed. net471 was computed. net472 was computed. net48 was computed. net481 was computed. |
| MonoAndroid | monoandroid was computed. |
| MonoMac | monomac was computed. |
| MonoTouch | monotouch was computed. |
| Tizen | tizen40 was computed. tizen60 was computed. |
| Xamarin.iOS | xamarinios was computed. |
| Xamarin.Mac | xamarinmac was computed. |
| Xamarin.TVOS | xamarintvos was computed. |
| Xamarin.WatchOS | xamarinwatchos was computed. |
-
.NETStandard 2.0
- No dependencies.
NuGet packages
This package is not used by any NuGet packages.
GitHub repositories
This package is not used by any popular GitHub repositories.
Fixed false positives in nested expression trees.