Using an extension method for collection C# with Example



Using an extension method for collection C# with Example

initialization 
Collection initialization syntax can be used when instantiating any class which implements IEnumerable and has a 
method named Add which takes a single parameter. 
 

In previous versions, this Add method had to be an instance method on the class being initialized. In C#6, it can 
also be an extension method. 
public class CollectionWithAdd : IEnumerable 
{ 
public void Add(T item) 
{ 
Console.WriteLine("Item added with instance add method: " + item); 
} 
public IEnumerator GetEnumerator() 
{ 
// Some implementation here 
} 
} 
public class CollectionWithoutAdd : IEnumerable 
{ 
public IEnumerator GetEnumerator() 
{ 
// Some implementation here 
} 
} 
public static class Extensions 
{ 
public static void Add(this CollectionWithoutAdd collection, T item) 
{ 
Console.WriteLine("Item added with extension add method: " + item); 
} 
} 
public class Program 
{ 
public static void Main() 
{ 
var collection1 = new CollectionWithAdd{1,2,3}; // Valid in all C# versions 
var collection2 = new CollectionWithoutAdd{4,5,6}; // Valid only since C# 6 
} 
} 
This will output: 
Item added with instance add method: 1 
Item added with instance add method: 2 
Item added with instance add method: 3 
Item added with extension add method: 4 
Item added with extension add method: 5 
Item added with extension add method: 6 

0 Comment's

Comment Form

Submit Comment