Skip to content

Commit dc14b3c

Browse files
Merge pull request #44 from linksplatform/feature/add_setter_extensions
Add Setter extensions
2 parents df3439c + f20b652 commit dc14b3c

File tree

2 files changed

+47
-2
lines changed

2 files changed

+47
-2
lines changed

csharp/Platform.Setters/Platform.Setters.csproj

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@
44
<Description>LinksPlatform's Platform.Setters Class Library</Description>
55
<Copyright>Konstantin Diachenko</Copyright>
66
<AssemblyTitle>Platform.Setters</AssemblyTitle>
7-
<VersionPrefix>0.2.0</VersionPrefix>
7+
<VersionPrefix>0.3.0</VersionPrefix>
88
<Authors>Konstantin Diachenko</Authors>
99
<TargetFrameworks>net472;netstandard2.0;netstandard2.1;net5</TargetFrameworks>
1010
<AssemblyName>Platform.Setters</AssemblyName>
@@ -24,7 +24,7 @@
2424
<IncludeSymbols>true</IncludeSymbols>
2525
<SymbolPackageFormat>snupkg</SymbolPackageFormat>
2626
<LangVersion>latest</LangVersion>
27-
<PackageReleaseNotes>Added support for .NET 5.</PackageReleaseNotes>
27+
<PackageReleaseNotes>Setter extensions for setting the first, second, therd element from the first or second list arguments are added.</PackageReleaseNotes>
2828
</PropertyGroup>
2929

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

3838
<ItemGroup>
39+
<PackageReference Include="Platform.Delegates" Version="0.0.1" />
3940
<PackageReference Include="Platform.Interfaces" Version="0.4.0" />
4041
</ItemGroup>
4142

Lines changed: 44 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,44 @@
1+
using System.Collections.Generic;
2+
3+
namespace Platform.Setters
4+
{
5+
public static class SetterExtensions
6+
{
7+
public static TDecision SetFirstFromFirstListAndReturnTrue<TResult, TDecision>(this Setter<TResult, TDecision> setter, IList<TResult> list1, IList<TResult> list2)
8+
{
9+
setter.Set(list1[0]);
10+
return setter.TrueValue;
11+
}
12+
13+
public static TDecision SetSecondFromFirstListAndReturnTrue<TResult, TDecision>(this Setter<TResult, TDecision> setter, IList<TResult> list1, IList<TResult> list2)
14+
{
15+
setter.Set(list1[1]);
16+
return setter.TrueValue;
17+
}
18+
19+
public static TDecision SetThirdFromFirstListAndReturnTrue<TResult, TDecision>(this Setter<TResult, TDecision> setter, IList<TResult> list1, IList<TResult> list2)
20+
{
21+
setter.Set(list1[2]);
22+
return setter.TrueValue;
23+
}
24+
25+
public static TDecision SetFirstFromSecondListAndReturnTrue<TResult, TDecision>(this Setter<TResult, TDecision> setter, IList<TResult> list1, IList<TResult> list2)
26+
{
27+
setter.Set(list2[0]);
28+
return setter.TrueValue;
29+
}
30+
31+
public static TDecision SetSecondFromSecondListAndReturnTrue<TResult, TDecision>(this Setter<TResult, TDecision> setter, IList<TResult> list1, IList<TResult> list2)
32+
{
33+
setter.Set(list2[1]);
34+
return setter.TrueValue;
35+
}
36+
37+
public static TDecision SetThirdFromSecondListAndReturnTrue<TResult, TDecision>(this Setter<TResult, TDecision> setter, IList<TResult> list1, IList<TResult> list2)
38+
{
39+
setter.Set(list2[2]);
40+
return setter.TrueValue;
41+
}
42+
}
43+
}
44+

0 commit comments

Comments
 (0)