Extension Methods
Posted On Sunday, November 14, 2010 at at 5:06 AM by LokeshI was working on a Ruby on Rails project. I was partly influenced by the syntactic sugars.
Here is the extension method in C# for Ruby times
1: using System;
2: 3: namespace ConsoleApplication1
4: {5: class Program
6: {7: static void Main(string[] args)
8: { 9: 5.Times(DoSomething); 10: } 11: 12: private static void DoSomething(int x)
13: {14: // Do something with x
15: } 16: } 17: 18: internal static class Extensions
19: {20: public static void Times(this int times, Action<int> action)
21: {22: for (var i = 0; i < times; i++)
23: action(i); 24: } 25: } 26: }