Skip to content

Commit

Permalink
Merge pull request #44 from linksplatform/feature/add_setter_extensions
Browse files Browse the repository at this point in the history
Add Setter extensions
  • Loading branch information
FreePhoenix888 authored Jan 13, 2022
2 parents df3439c + f20b652 commit dc14b3c
Show file tree
Hide file tree
Showing 2 changed files with 47 additions and 2 deletions.
5 changes: 3 additions & 2 deletions csharp/Platform.Setters/Platform.Setters.csproj
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@
<Description>LinksPlatform's Platform.Setters Class Library</Description>
<Copyright>Konstantin Diachenko</Copyright>
<AssemblyTitle>Platform.Setters</AssemblyTitle>
<VersionPrefix>0.2.0</VersionPrefix>
<VersionPrefix>0.3.0</VersionPrefix>
<Authors>Konstantin Diachenko</Authors>
<TargetFrameworks>net472;netstandard2.0;netstandard2.1;net5</TargetFrameworks>
<AssemblyName>Platform.Setters</AssemblyName>
Expand All @@ -24,7 +24,7 @@
<IncludeSymbols>true</IncludeSymbols>
<SymbolPackageFormat>snupkg</SymbolPackageFormat>
<LangVersion>latest</LangVersion>
<PackageReleaseNotes>Added support for .NET 5.</PackageReleaseNotes>
<PackageReleaseNotes>Setter extensions for setting the first, second, therd element from the first or second list arguments are added.</PackageReleaseNotes>
</PropertyGroup>

<ItemGroup Condition="$(TargetFramework.StartsWith('net4')) AND '$(MSBuildRuntimeType)' == 'Core' AND '$(OS)' != 'Windows_NT'">
Expand All @@ -36,6 +36,7 @@
</ItemGroup>

<ItemGroup>
<PackageReference Include="Platform.Delegates" Version="0.0.1" />
<PackageReference Include="Platform.Interfaces" Version="0.4.0" />
</ItemGroup>

Expand Down
44 changes: 44 additions & 0 deletions csharp/Platform.Setters/SetterExtensions.cs
Original file line number Diff line number Diff line change
@@ -0,0 +1,44 @@
using System.Collections.Generic;

namespace Platform.Setters
{
public static class SetterExtensions
{
public static TDecision SetFirstFromFirstListAndReturnTrue<TResult, TDecision>(this Setter<TResult, TDecision> setter, IList<TResult> list1, IList<TResult> list2)
{
setter.Set(list1[0]);
return setter.TrueValue;
}

public static TDecision SetSecondFromFirstListAndReturnTrue<TResult, TDecision>(this Setter<TResult, TDecision> setter, IList<TResult> list1, IList<TResult> list2)
{
setter.Set(list1[1]);
return setter.TrueValue;
}

public static TDecision SetThirdFromFirstListAndReturnTrue<TResult, TDecision>(this Setter<TResult, TDecision> setter, IList<TResult> list1, IList<TResult> list2)
{
setter.Set(list1[2]);
return setter.TrueValue;
}

public static TDecision SetFirstFromSecondListAndReturnTrue<TResult, TDecision>(this Setter<TResult, TDecision> setter, IList<TResult> list1, IList<TResult> list2)
{
setter.Set(list2[0]);
return setter.TrueValue;
}

public static TDecision SetSecondFromSecondListAndReturnTrue<TResult, TDecision>(this Setter<TResult, TDecision> setter, IList<TResult> list1, IList<TResult> list2)
{
setter.Set(list2[1]);
return setter.TrueValue;
}

public static TDecision SetThirdFromSecondListAndReturnTrue<TResult, TDecision>(this Setter<TResult, TDecision> setter, IList<TResult> list1, IList<TResult> list2)
{
setter.Set(list2[2]);
return setter.TrueValue;
}
}
}

0 comments on commit dc14b3c

Please sign in to comment.