Explorar el Código

Remove some uses of default(T).

Bart De Smet hace 6 años
padre
commit
3f0be4b2db

+ 16 - 16
Rx.NET/Source/src/System.Reactive/Joins/Plan.cs

@@ -58,7 +58,7 @@ namespace System.Reactive.Joins
             activePlan = new ActivePlan<T1>(firstJoinObserver,
                 first =>
                 {
-                    var result = default(TResult);
+                    TResult result;
                     try
                     {
                         result = Selector(first);
@@ -104,7 +104,7 @@ namespace System.Reactive.Joins
             activePlan = new ActivePlan<T1, T2>(firstJoinObserver, secondJoinObserver,
                 (first, second) =>
                 {
-                    var result = default(TResult);
+                    TResult result;
                     try
                     {
                         result = Selector(first, second);
@@ -154,7 +154,7 @@ namespace System.Reactive.Joins
             activePlan = new ActivePlan<T1, T2, T3>(firstJoinObserver, secondJoinObserver, thirdJoinObserver,
                 (first, second, third) =>
                 {
-                    var result = default(TResult);
+                    TResult result;
                     try
                     {
                         result = Selector(first, second, third);
@@ -207,7 +207,7 @@ namespace System.Reactive.Joins
             activePlan = new ActivePlan<T1, T2, T3, T4>(firstJoinObserver, secondJoinObserver, thirdJoinObserver, fourthJoinObserver,
                 (first, second, third, fourth) =>
                 {
-                    var result = default(TResult);
+                    TResult result;
                     try
                     {
                         result = Selector(first, second, third, fourth);
@@ -263,7 +263,7 @@ namespace System.Reactive.Joins
             activePlan = new ActivePlan<T1, T2, T3, T4, T5>(firstJoinObserver, secondJoinObserver, thirdJoinObserver, fourthJoinObserver, fifthJoinObserver,
                 (first, second, third, fourth, fifth) =>
                 {
-                    var result = default(TResult);
+                    TResult result;
                     try
                     {
                         result = Selector(first, second, third, fourth, fifth);
@@ -323,7 +323,7 @@ namespace System.Reactive.Joins
                 fourthJoinObserver, fifthJoinObserver, sixthJoinObserver,
                 (first, second, third, fourth, fifth, sixth) =>
                 {
-                    var result = default(TResult);
+                    TResult result;
                     try
                     {
                         result = Selector(first, second, third, fourth, fifth, sixth);
@@ -386,7 +386,7 @@ namespace System.Reactive.Joins
                 fourthJoinObserver, fifthJoinObserver, sixthJoinObserver, seventhJoinObserver,
                 (first, second, third, fourth, fifth, sixth, seventh) =>
                 {
-                    var result = default(TResult);
+                    TResult result;
                     try
                     {
                         result = Selector(first, second, third, fourth, fifth, sixth, seventh);
@@ -452,7 +452,7 @@ namespace System.Reactive.Joins
                 fourthJoinObserver, fifthJoinObserver, sixthJoinObserver, seventhJoinObserver, eighthJoinObserver,
                 (first, second, third, fourth, fifth, sixth, seventh, eighth) =>
                 {
-                    var result = default(TResult);
+                    TResult result;
                     try
                     {
                         result = Selector(first, second, third, fourth, fifth, sixth, seventh, eighth);
@@ -521,7 +521,7 @@ namespace System.Reactive.Joins
                 fourthJoinObserver, fifthJoinObserver, sixthJoinObserver, seventhJoinObserver, eighthJoinObserver, ninthJoinObserver,
                 (first, second, third, fourth, fifth, sixth, seventh, eighth, ninth) =>
                 {
-                    var result = default(TResult);
+                    TResult result;
                     try
                     {
                         result = Selector(first, second, third, fourth, fifth, sixth, seventh, eighth, ninth);
@@ -593,7 +593,7 @@ namespace System.Reactive.Joins
                 fourthJoinObserver, fifthJoinObserver, sixthJoinObserver, seventhJoinObserver, eighthJoinObserver, ninthJoinObserver, tenthJoinObserver,
                 (first, second, third, fourth, fifth, sixth, seventh, eighth, ninth, tenth) =>
                 {
-                    var result = default(TResult);
+                    TResult result;
                     try
                     {
                         result = Selector(first, second, third, fourth, fifth, sixth, seventh, eighth, ninth, tenth);
@@ -669,7 +669,7 @@ namespace System.Reactive.Joins
                 fourthJoinObserver, fifthJoinObserver, sixthJoinObserver, seventhJoinObserver, eighthJoinObserver, ninthJoinObserver, tenthJoinObserver, eleventhJoinObserver,
                 (first, second, third, fourth, fifth, sixth, seventh, eighth, ninth, tenth, eleventh) =>
                 {
-                    var result = default(TResult);
+                    TResult result;
                     try
                     {
                         result = Selector(first, second, third, fourth, fifth, sixth, seventh, eighth, ninth, tenth, eleventh);
@@ -749,7 +749,7 @@ namespace System.Reactive.Joins
                 twelfthJoinObserver,
                 (first, second, third, fourth, fifth, sixth, seventh, eighth, ninth, tenth, eleventh, twelfth) =>
                 {
-                    var result = default(TResult);
+                    TResult result;
                     try
                     {
                         result = Selector(first, second, third, fourth, fifth, sixth, seventh, eighth, ninth, tenth, eleventh, twelfth);
@@ -833,7 +833,7 @@ namespace System.Reactive.Joins
                 twelfthJoinObserver, thirteenthJoinObserver,
                 (first, second, third, fourth, fifth, sixth, seventh, eighth, ninth, tenth, eleventh, twelfth, thirteenth) =>
                 {
-                    var result = default(TResult);
+                    TResult result;
                     try
                     {
                         result = Selector(first, second, third, fourth, fifth, sixth, seventh, eighth, ninth, tenth, eleventh, twelfth, thirteenth);
@@ -924,7 +924,7 @@ namespace System.Reactive.Joins
                 fourteenthJoinObserver,
                 (first, second, third, fourth, fifth, sixth, seventh, eighth, ninth, tenth, eleventh, twelfth, thirteenth, fourteenth) =>
                 {
-                    var result = default(TResult);
+                    TResult result;
                     try
                     {
                         result = Selector(first, second, third, fourth, fifth, sixth, seventh, eighth, ninth, tenth, eleventh, twelfth, thirteenth, fourteenth);
@@ -1017,7 +1017,7 @@ namespace System.Reactive.Joins
                 fourteenthJoinObserver, fifteenthJoinObserver,
                 (first, second, third, fourth, fifth, sixth, seventh, eighth, ninth, tenth, eleventh, twelfth, thirteenth, fourteenth, fifteenth) =>
                 {
-                    var result = default(TResult);
+                    TResult result;
                     try
                     {
                         result = Selector(first, second, third, fourth, fifth, sixth, seventh, eighth, ninth, tenth, eleventh, twelfth, thirteenth, fourteenth, fifteenth);
@@ -1113,7 +1113,7 @@ namespace System.Reactive.Joins
                 sixteenthJoinObserver,
                 (first, second, third, fourth, fifth, sixth, seventh, eighth, ninth, tenth, eleventh, twelfth, thirteenth, fourteenth, fifteenth, sixteenth) =>
                 {
-                    var result = default(TResult);
+                    TResult result;
                     try
                     {
                         result = Selector(first, second, third, fourth, fifth, sixth, seventh, eighth, ninth, tenth, eleventh, twelfth, thirteenth, fourteenth, fifteenth, sixteenth);

+ 1 - 1
Rx.NET/Source/src/System.Reactive/Linq/Observable/Aggregate.cs

@@ -187,7 +187,7 @@ namespace System.Reactive.Linq.ObservableImpl
 
             public override void OnCompleted()
             {
-                var result = default(TResult);
+                TResult result;
                 try
                 {
                     result = _resultSelector(_accumulation);

+ 1 - 1
Rx.NET/Source/src/System.Reactive/Linq/Observable/Cast.cs

@@ -26,7 +26,7 @@ namespace System.Reactive.Linq.ObservableImpl
 
             public override void OnNext(TSource value)
             {
-                var result = default(TResult);
+                TResult result;
                 try
                 {
                     result = (TResult)(object)value;

+ 4 - 4
Rx.NET/Source/src/System.Reactive/Linq/Observable/CombineLatest.cs

@@ -92,7 +92,7 @@ namespace System.Reactive.Linq.ObservableImpl
 
                         if (_other.HasValue)
                         {
-                            var res = default(TResult);
+                            TResult res;
                             try
                             {
                                 res = _parent._resultSelector(value, _other.Value);
@@ -163,7 +163,7 @@ namespace System.Reactive.Linq.ObservableImpl
 
                         if (_other.HasValue)
                         {
-                            var res = default(TResult);
+                            TResult res;
                             try
                             {
                                 res = _parent._resultSelector(_other.Value, value);
@@ -262,7 +262,7 @@ namespace System.Reactive.Linq.ObservableImpl
 
             if (_hasValueAll)
             {
-                var res = default(TResult);
+                TResult res;
                 try
                 {
                     res = GetResult();
@@ -450,7 +450,7 @@ namespace System.Reactive.Linq.ObservableImpl
 
                     if (_hasValueAll || (_hasValueAll = _hasValue.All()))
                     {
-                        var res = default(TResult);
+                        TResult res;
                         try
                         {
                             res = _resultSelector(new ReadOnlyCollection<TSource>(_values));

+ 1 - 1
Rx.NET/Source/src/System.Reactive/Linq/Observable/Distinct.cs

@@ -37,7 +37,7 @@ namespace System.Reactive.Linq.ObservableImpl
 
             public override void OnNext(TSource value)
             {
-                var key = default(TKey);
+                TKey key;
                 var hasAdded = false;
                 try
                 {

+ 1 - 1
Rx.NET/Source/src/System.Reactive/Linq/Observable/DistinctUntilChanged.cs

@@ -40,7 +40,7 @@ namespace System.Reactive.Linq.ObservableImpl
 
             public override void OnNext(TSource value)
             {
-                var key = default(TKey);
+                TKey key;
                 try
                 {
                     key = _keySelector(value);

+ 1 - 1
Rx.NET/Source/src/System.Reactive/Linq/Observable/FromEvent.cs

@@ -175,7 +175,7 @@ namespace System.Reactive.Linq.ObservableImpl
 
         protected override TDelegate GetHandler(Action<TEventArgs> onNext)
         {
-            var handler = default(TDelegate);
+            TDelegate handler;
 
             if (_conversion == null)
             {

+ 1 - 1
Rx.NET/Source/src/System.Reactive/Linq/Observable/FromEventPattern.cs

@@ -32,7 +32,7 @@ namespace System.Reactive.Linq.ObservableImpl
 
             protected override TDelegate GetHandler(Action<EventPattern<TEventArgs>> onNext)
             {
-                var handler = default(TDelegate);
+                TDelegate handler;
 
                 if (_conversion == null)
                 {

+ 2 - 2
Rx.NET/Source/src/System.Reactive/Linq/Observable/GroupBy.cs

@@ -65,7 +65,7 @@ namespace System.Reactive.Linq.ObservableImpl
 
             public override void OnNext(TSource value)
             {
-                var key = default(TKey);
+                TKey key;
                 try
                 {
                     key = _keySelector(value);
@@ -130,7 +130,7 @@ namespace System.Reactive.Linq.ObservableImpl
                     ForwardOnNext(group);
                 }
 
-                var element = default(TElement);
+                TElement element;
                 try
                 {
                     element = _elementSelector(value);

+ 2 - 2
Rx.NET/Source/src/System.Reactive/Linq/Observable/GroupByUntil.cs

@@ -74,7 +74,7 @@ namespace System.Reactive.Linq.ObservableImpl
 
             public override void OnNext(TSource value)
             {
-                var key = default(TKey);
+                TKey key;
                 try
                 {
                     key = _keySelector(value);
@@ -148,7 +148,7 @@ namespace System.Reactive.Linq.ObservableImpl
                     durationObserver.SetResource(duration.SubscribeSafe(durationObserver));
                 }
 
-                var element = default(TElement);
+                TElement element;
                 try
                 {
                     element = _elementSelector(value);

+ 1 - 1
Rx.NET/Source/src/System.Reactive/Linq/Observable/GroupJoin.cs

@@ -124,7 +124,7 @@ namespace System.Reactive.Linq.ObservableImpl
                     // BREAKING CHANGE v2 > v1.x - The duration sequence is subscribed to before the result sequence is evaluated.
                     durationObserver.SetResource(duration.SubscribeSafe(durationObserver));
 
-                    var result = default(TResult);
+                    TResult result;
                     try
                     {
                         result = _parent._resultSelector(value, window);

+ 2 - 2
Rx.NET/Source/src/System.Reactive/Linq/Observable/Join.cs

@@ -123,7 +123,7 @@ namespace System.Reactive.Linq.ObservableImpl
                         {
                             if (rightValue.Key < rightID)
                             {
-                                var result = default(TResult);
+                                TResult result;
                                 try
                                 {
                                     result = _parent._resultSelector(value, rightValue.Value);
@@ -246,7 +246,7 @@ namespace System.Reactive.Linq.ObservableImpl
                         {
                             if (leftValue.Key < leftID)
                             {
-                                var result = default(TResult);
+                                TResult result;
                                 try
                                 {
                                     result = _parent._resultSelector(leftValue.Value, value);

+ 1 - 1
Rx.NET/Source/src/System.Reactive/Linq/Observable/MaxBy.cs

@@ -42,7 +42,7 @@ namespace System.Reactive.Linq.ObservableImpl
 
             public override void OnNext(TSource value)
             {
-                var key = default(TKey);
+                TKey key;
                 try
                 {
                     key = _keySelector(value);

+ 1 - 1
Rx.NET/Source/src/System.Reactive/Linq/Observable/MinBy.cs

@@ -42,7 +42,7 @@ namespace System.Reactive.Linq.ObservableImpl
 
             public override void OnNext(TSource value)
             {
-                var key = default(TKey);
+                TKey key;
                 try
                 {
                     key = _keySelector(value);

+ 2 - 2
Rx.NET/Source/src/System.Reactive/Linq/Observable/Select.cs

@@ -33,7 +33,7 @@ namespace System.Reactive.Linq.ObservableImpl
 
                 public override void OnNext(TSource value)
                 {
-                    var result = default(TResult);
+                    TResult result;
                     try
                     {
                         result = _selector(value);
@@ -77,7 +77,7 @@ namespace System.Reactive.Linq.ObservableImpl
 
                 public override void OnNext(TSource value)
                 {
-                    var result = default(TResult);
+                    TResult result;
                     try
                     {
                         result = _selector(value, checked(_index++));

+ 4 - 4
Rx.NET/Source/src/System.Reactive/Linq/Observable/SelectMany.cs

@@ -121,7 +121,7 @@ namespace System.Reactive.Linq.ObservableImpl
 
                     public override void OnNext(TCollection value)
                     {
-                        var res = default(TResult);
+                        TResult res;
 
                         try
                         {
@@ -288,7 +288,7 @@ namespace System.Reactive.Linq.ObservableImpl
 
                     public override void OnNext(TCollection value)
                     {
-                        var res = default(TResult);
+                        TResult res;
 
                         try
                         {
@@ -598,7 +598,7 @@ namespace System.Reactive.Linq.ObservableImpl
                     {
                         case TaskStatus.RanToCompletion:
                         {
-                            var res = default(TResult);
+                            TResult res;
                             try
                             {
                                 res = _resultSelector(value, task.Result);
@@ -755,7 +755,7 @@ namespace System.Reactive.Linq.ObservableImpl
                     {
                         case TaskStatus.RanToCompletion:
                         {
-                            var res = default(TResult);
+                            TResult res;
                             try
                             {
                                 res = _resultSelector(value, index, task.Result);

+ 1 - 1
Rx.NET/Source/src/System.Reactive/Linq/Observable/WithLatestFrom.cs

@@ -99,7 +99,7 @@ namespace System.Reactive.Linq.ObservableImpl
                             latest = _parent._latest;
                         }
 
-                        var res = default(TResult);
+                        TResult res;
 
                         try
                         {

+ 4 - 4
Rx.NET/Source/src/System.Reactive/Linq/Observable/Zip.cs

@@ -106,7 +106,7 @@ namespace System.Reactive.Linq.ObservableImpl
                             {
                                 var r = _other.Queue.Dequeue();
 
-                                var res = default(TResult);
+                                TResult res;
                                 try
                                 {
                                     res = _parent._resultSelector(value, r);
@@ -188,7 +188,7 @@ namespace System.Reactive.Linq.ObservableImpl
                             {
                                 var l = _other.Queue.Dequeue();
 
-                                var res = default(TResult);
+                                TResult res;
                                 try
                                 {
                                     res = _parent._resultSelector(l, value);
@@ -335,7 +335,7 @@ namespace System.Reactive.Linq.ObservableImpl
 
                     if (hasNext)
                     {
-                        var right = default(TSecond);
+                        TSecond right;
                         try
                         {
                             right = _rightEnumerator.Current;
@@ -413,7 +413,7 @@ namespace System.Reactive.Linq.ObservableImpl
 
             if (hasValueAll)
             {
-                var res = default(TResult);
+                TResult res;
                 try
                 {
                     res = GetResult();

+ 17 - 17
Rx.NET/Source/src/System.Reactive/Linq/QueryLanguage.Async.cs

@@ -901,7 +901,7 @@ namespace System.Reactive.Linq
                 var subject = new AsyncSubject<TResult>();
                 scheduler.ScheduleAction((function, subject), state =>
                 {
-                    var result = default(TResult);
+                    TResult result;
                     try
                     {
                         result = state.function();
@@ -930,7 +930,7 @@ namespace System.Reactive.Linq
                 var subject = new AsyncSubject<TResult>();
                 scheduler.ScheduleAction((function, subject, first), state =>
                 {
-                    var result = default(TResult);
+                    TResult result;
                     try
                     {
                         result = state.function(state.first);
@@ -959,7 +959,7 @@ namespace System.Reactive.Linq
                 var subject = new AsyncSubject<TResult>();
                 scheduler.ScheduleAction((subject, function, first, second), state =>
                 {
-                    var result = default(TResult);
+                    TResult result;
                     try
                     {
                         result = state.function(state.first, state.second);
@@ -988,7 +988,7 @@ namespace System.Reactive.Linq
                 var subject = new AsyncSubject<TResult>();
                 scheduler.ScheduleAction((subject, function, first, second, third), state =>
                 {
-                    var result = default(TResult);
+                    TResult result;
                     try
                     {
                         result = state.function(state.first, state.second, state.third);
@@ -1017,7 +1017,7 @@ namespace System.Reactive.Linq
                 var subject = new AsyncSubject<TResult>();
                 scheduler.ScheduleAction((subject, function, first, second, third, fourth), state =>
                 {
-                    var result = default(TResult);
+                    TResult result;
                     try
                     {
                         result = state.function(state.first, state.second, state.third, state.fourth);
@@ -1046,7 +1046,7 @@ namespace System.Reactive.Linq
                 var subject = new AsyncSubject<TResult>();
                 scheduler.ScheduleAction((subject, function, first, second, third, fourth, fifth), state =>
                 {
-                    var result = default(TResult);
+                    TResult result;
                     try
                     {
                         result = state.function(state.first, state.second, state.third, state.fourth, state.fifth);
@@ -1075,7 +1075,7 @@ namespace System.Reactive.Linq
                 var subject = new AsyncSubject<TResult>();
                 scheduler.ScheduleAction((subject, function, first, second, third, fourth, fifth, sixth), state =>
                 {
-                    var result = default(TResult);
+                    TResult result;
                     try
                     {
                         result = state.function(state.first, state.second, state.third, state.fourth, state.fifth, state.sixth);
@@ -1104,7 +1104,7 @@ namespace System.Reactive.Linq
                 var subject = new AsyncSubject<TResult>();
                 scheduler.ScheduleAction((subject, function, first, second, third, fourth, fifth, sixth, seventh), state =>
                 {
-                    var result = default(TResult);
+                    TResult result;
                     try
                     {
                         result = state.function(state.first, state.second, state.third, state.fourth, state.fifth, state.sixth, state.seventh);
@@ -1133,7 +1133,7 @@ namespace System.Reactive.Linq
                 var subject = new AsyncSubject<TResult>();
                 scheduler.ScheduleAction((subject, function, first, second, third, fourth, fifth, sixth, seventh, eight), state =>
                 {
-                    var result = default(TResult);
+                    TResult result;
                     try
                     {
                         result = state.function(state.first, state.second, state.third, state.fourth, state.fifth, state.sixth, state.seventh, state.eight);
@@ -1162,7 +1162,7 @@ namespace System.Reactive.Linq
                 var subject = new AsyncSubject<TResult>();
                 scheduler.ScheduleAction((subject, function, first, second, third, fourth, fifth, sixth, seventh, eight, ninth), state =>
                 {
-                    var result = default(TResult);
+                    TResult result;
                     try
                     {
                         result = state.function(state.first, state.second, state.third, state.fourth, state.fifth, state.sixth, state.seventh, state.eight, state.ninth);
@@ -1191,7 +1191,7 @@ namespace System.Reactive.Linq
                 var subject = new AsyncSubject<TResult>();
                 scheduler.ScheduleAction((subject, function, first, second, third, fourth, fifth, sixth, seventh, eight, ninth, tenth), state =>
                 {
-                    var result = default(TResult);
+                    TResult result;
                     try
                     {
                         result = state.function(state.first, state.second, state.third, state.fourth, state.fifth, state.sixth, state.seventh, state.eight, state.ninth, state.tenth);
@@ -1220,7 +1220,7 @@ namespace System.Reactive.Linq
                 var subject = new AsyncSubject<TResult>();
                 scheduler.ScheduleAction((subject, function, first, second, third, fourth, fifth, sixth, seventh, eight, ninth, tenth, eleventh), state =>
                 {
-                    var result = default(TResult);
+                    TResult result;
                     try
                     {
                         result = state.function(state.first, state.second, state.third, state.fourth, state.fifth, state.sixth, state.seventh, state.eight, state.ninth, state.tenth, state.eleventh);
@@ -1249,7 +1249,7 @@ namespace System.Reactive.Linq
                 var subject = new AsyncSubject<TResult>();
                 scheduler.ScheduleAction((subject, function, first, second, third, fourth, fifth, sixth, seventh, eight, ninth, tenth, eleventh, twelfth), state =>
                 {
-                    var result = default(TResult);
+                    TResult result;
                     try
                     {
                         result = state.function(state.first, state.second, state.third, state.fourth, state.fifth, state.sixth, state.seventh, state.eight, state.ninth, state.tenth, state.eleventh, state.twelfth);
@@ -1278,7 +1278,7 @@ namespace System.Reactive.Linq
                 var subject = new AsyncSubject<TResult>();
                 scheduler.ScheduleAction((subject, function, first, second, third, fourth, fifth, sixth, seventh, eight, ninth, tenth, eleventh, twelfth, thirteenth), state =>
                 {
-                    var result = default(TResult);
+                    TResult result;
                     try
                     {
                         result = state.function(state.first, state.second, state.third, state.fourth, state.fifth, state.sixth, state.seventh, state.eight, state.ninth, state.tenth, state.eleventh, state.twelfth, state.thirteenth);
@@ -1307,7 +1307,7 @@ namespace System.Reactive.Linq
                 var subject = new AsyncSubject<TResult>();
                 scheduler.ScheduleAction((subject, function, first, second, third, fourth, fifth, sixth, seventh, eight, ninth, tenth, eleventh, twelfth, thirteenth, fourteenth), state =>
                 {
-                    var result = default(TResult);
+                    TResult result;
                     try
                     {
                         result = state.function(state.first, state.second, state.third, state.fourth, state.fifth, state.sixth, state.seventh, state.eight, state.ninth, state.tenth, state.eleventh, state.twelfth, state.thirteenth, state.fourteenth);
@@ -1336,7 +1336,7 @@ namespace System.Reactive.Linq
                 var subject = new AsyncSubject<TResult>();
                 scheduler.ScheduleAction((subject, function, first, second, third, fourth, fifth, sixth, seventh, eight, ninth, tenth, eleventh, twelfth, thirteenth, fourteenth, fifteenth), state =>
                 {
-                    var result = default(TResult);
+                    TResult result;
                     try
                     {
                         result = state.function(state.first, state.second, state.third, state.fourth, state.fifth, state.sixth, state.seventh, state.eight, state.ninth, state.tenth, state.eleventh, state.twelfth, state.thirteenth, state.fourteenth, state.fifteenth);
@@ -1365,7 +1365,7 @@ namespace System.Reactive.Linq
                 var subject = new AsyncSubject<TResult>();
                 scheduler.ScheduleAction((subject, function, first, second, third, fourth, fifth, sixth, seventh, eight, ninth, tenth, eleventh, twelfth, thirteenth, fourteenth, fifteenth, sixteenth), state =>
                 {
-                    var result = default(TResult);
+                    TResult result;
                     try
                     {
                         result = state.function(state.first, state.second, state.third, state.fourth, state.fifth, state.sixth, state.seventh, state.eight, state.ninth, state.tenth, state.eleventh, state.twelfth, state.thirteenth, state.fourteenth, state.fifteenth, state.sixteenth);