diff --git a/CSharpFunctionalExtensions.Analyzers.Samples/CSharpFunctionalExtensions.Analyzers.Samples.csproj b/CSharpFunctionalExtensions.Analyzers.Samples/CSharpFunctionalExtensions.Analyzers.Samples.csproj index 8c7870b..d068567 100644 --- a/CSharpFunctionalExtensions.Analyzers.Samples/CSharpFunctionalExtensions.Analyzers.Samples.csproj +++ b/CSharpFunctionalExtensions.Analyzers.Samples/CSharpFunctionalExtensions.Analyzers.Samples.csproj @@ -15,7 +15,7 @@ OutputItemType="Analyzer" ReferenceOutputAssembly="false"/> - + diff --git a/CSharpFunctionalExtensions.Analyzers.Samples/Class1.cs b/CSharpFunctionalExtensions.Analyzers.Samples/Class1.cs index 0603f6c..3c89b88 100644 --- a/CSharpFunctionalExtensions.Analyzers.Samples/Class1.cs +++ b/CSharpFunctionalExtensions.Analyzers.Samples/Class1.cs @@ -44,22 +44,29 @@ public int Test() { var y = Result.Success(1); - if (y.IsFailure) return y.Value; - + if (!y.IsSuccess || y.Value > 0 ) return 0; + return 1; } + public int Test2() + { + var y = Result.Success(1); + var x = y.IsSuccess ? y.Value : 0; + var foo = y.Value; + return y.IsFailure ? 0 : y.Value; + } public int PatternMatching() { var result = Result.Success(1); var id = result switch { - { IsSuccess: true }=> result.Value, - { Error: "eror" } => 0, + { IsSuccess: true, Value: 1 }=> result.Value, + { Error: "eror", Value: 1 } => 0, _ => throw new ArgumentOutOfRangeException() }; - var x = (result.IsFailure)? 0: result.Value; + var x = result.IsFailure? 0: result.Value; switch (result.IsSuccess) { case true: @@ -75,10 +82,29 @@ public void UsingStatementExample() { var result = Result.Success(1); if (result.IsFailure) return; - + //var resultMessage = !result.IsSuccess ? $"{result.Value} success." : "Failed."; using (var streamWriter = new StreamWriter("filePath")) { streamWriter.Write(result.Value); } } + + public void CombinedCheckExample() + { + var result = Result.Success(1); + //if (result.IsFailure || result.Value == 1 ) return; + if (result is { IsSuccess: true, Value: > 1 }) + { + Console.WriteLine("foo" + result.Value); + } + + // if (result.IsSuccess && result.Value == 1) + // { + // Console.WriteLine("foo" + result.Value); + // } + + + } + + } diff --git a/CSharpFunctionalExtensions.Analyzers.Tests/CSharpFunctionalExtensions.Analyzers.Tests.csproj b/CSharpFunctionalExtensions.Analyzers.Tests/CSharpFunctionalExtensions.Analyzers.Tests.csproj index 8fcab80..dafd118 100644 --- a/CSharpFunctionalExtensions.Analyzers.Tests/CSharpFunctionalExtensions.Analyzers.Tests.csproj +++ b/CSharpFunctionalExtensions.Analyzers.Tests/CSharpFunctionalExtensions.Analyzers.Tests.csproj @@ -22,7 +22,7 @@ runtime; build; native; contentfiles; analyzers; buildtransitive all - + diff --git a/CSharpFunctionalExtensions.Analyzers/CSharpFunctionalExtensions.Analyzers.csproj b/CSharpFunctionalExtensions.Analyzers/CSharpFunctionalExtensions.Analyzers.csproj index 6fb8c46..0a87bb3 100644 --- a/CSharpFunctionalExtensions.Analyzers/CSharpFunctionalExtensions.Analyzers.csproj +++ b/CSharpFunctionalExtensions.Analyzers/CSharpFunctionalExtensions.Analyzers.csproj @@ -36,7 +36,7 @@ - + all runtime; build; native; contentfiles; analyzers; buildtransitive