Έχουν δημοσιευτεί Παρασκευή, 17 Οκτωβρίου 2008 4:14 μμ από το μέλος PALLADIN

What if?

Σήμερα ήμουν λιγάκι "lazy" με ένα C# project, καθώς έπρεπε να πάρω κάποιες premature αποφάσεις. Σκέφτηκα ότι ένα lazy If θα βοηθούσε, και αμέσως στρώθηκα στην δουλειά.

Το αποτέλεσμα

public static class Lazy
{

   public static Func<Func<TReturn>, Func<Func<TReturn>, Func<TReturn>>> If<TReturn>(Func<bool> conditionFunc)
   {
      return thenFunc => elseFunc => () =>
         {
            if (conditionFunc())
               return thenFunc();
            else
               return elseFunc();
         };
   }

   public static Func<Func<TValue, TReturn>, Func<Func<TValue, TReturn>, Func<TValue, TReturn>>> If<TValue, TReturn>(Func<TValue, bool> condition)
   {
      return thenFunc => elseFunc => value =>
         {
            if (condition(value))
               return thenFunc(value);
            else
               return elseFunc(value);
         };
   }
}

τελικά το higher order style στην C#, μετά από ένα σημείο, αρχίζει να δείχνει τα όριά τουTongue Tied

         
Share


Ενημέρωση για Σχόλια

Αν θα θέλατε να λαμβάνετε ένα e-mail όταν γίνονται ανανεώσεις στο περιεχόμενο αυτής της δημοσίευσης, παρακαλούμε γίνετε συνδρομητής εδώ

Παραμείνετε ενήμεροι στα τελευταία σχόλια με την χρήση του αγαπημένου σας RSS Aggregator και συνδρομή στη Τροφοδοσία RSS με σχόλια

Σχόλια:

Χωρίς Σχόλια

Ποιά είναι η άποψή σας για την παραπάνω δημοσίευση;

(απαιτούμενο)
απαιτούμενο
προαιρετικό
απαιτούμενο
ÅéóÜãåôå ôïí êùäéêü:
CAPTCHA Image