Skip to content

Commit 83d0b0a

Browse files
Merge pull request #50 from linksplatform/cs/bugfix/make_setters_list_argument_nullable
Add setter extensions that check if a link is null and return false
2 parents 456512d + c09d9ae commit 83d0b0a

File tree

1 file changed

+62
-0
lines changed

1 file changed

+62
-0
lines changed

csharp/Platform.Setters/SetterExtensions.cs

Lines changed: 62 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -66,6 +66,68 @@ public static TDecision SetThirdFromNonNullSecondListAndReturnTrue<TResult, TDec
6666
}
6767
return setter.TrueValue;
6868
}
69+
public static TDecision SetFirstFromNonNullListAndReturnFalse<TResult, TDecision>(this Setter<TResult, TDecision> setter, IList<TResult>? list)
70+
{
71+
if (list != null)
72+
{
73+
setter.Set(list[0]);
74+
}
75+
return setter.FalseValue;
76+
}
77+
78+
public static TDecision SetFirstFromNonNullFirstListAndReturnFalse<TResult, TDecision>(this Setter<TResult, TDecision> setter, IList<TResult>? list1, IList<TResult>? list2)
79+
{
80+
if (list1 != null)
81+
{
82+
setter.Set(list1[0]);
83+
}
84+
return setter.FalseValue;
85+
}
86+
87+
public static TDecision SetSecondFromNonNullFirstListAndReturnFalse<TResult, TDecision>(this Setter<TResult, TDecision> setter, IList<TResult>? list1, IList<TResult>? list2)
88+
{
89+
if (list1 != null)
90+
{
91+
setter.Set(list1[1]);
92+
}
93+
return setter.FalseValue;
94+
}
95+
96+
public static TDecision SetThirdFromNonNullFirstListAndReturnFalse<TResult, TDecision>(this Setter<TResult, TDecision> setter, IList<TResult>? list1, IList<TResult>? list2)
97+
{
98+
if (list1 != null)
99+
{
100+
setter.Set(list1[2]);
101+
}
102+
return setter.FalseValue;
103+
}
104+
105+
public static TDecision SetFirstFromNonNullSecondListAndReturnFalse<TResult, TDecision>(this Setter<TResult, TDecision> setter, IList<TResult>? list1, IList<TResult>? list2)
106+
{
107+
if (list2 != null)
108+
{
109+
setter.Set(list2[0]);
110+
}
111+
return setter.FalseValue;
112+
}
113+
114+
public static TDecision SetSecondFromNonNullSecondListAndReturnFalse<TResult, TDecision>(this Setter<TResult, TDecision> setter, IList<TResult>? list1, IList<TResult>? list2)
115+
{
116+
if (list2 != null)
117+
{
118+
setter.Set(list2[1]);
119+
}
120+
return setter.FalseValue;
121+
}
122+
123+
public static TDecision SetThirdFromNonNullSecondListAndReturnFalse<TResult, TDecision>(this Setter<TResult, TDecision> setter, IList<TResult>? list1, IList<TResult>? list2)
124+
{
125+
if (list2 != null)
126+
{
127+
setter.Set(list2[2]);
128+
}
129+
return setter.FalseValue;
130+
}
69131
}
70132
}
71133

0 commit comments

Comments
 (0)