What is an extension method? The extension method provides the ability to extend the functionality of an existing class by adding a static method into this class, without creating a new derived class, recompiling, or otherwise modifying the original class. The following example demonstrates the extension method in use.
namespace NamespaceName { public static class CommonUtil { public static string ListToString(this IList list) { StringBuilder result = new StringBuilder(""); if (list.Count > 0) { result.Append(list[0].ToString()); for (int i = 1; i < list.Count; i++) result.AppendFormat(", {0}", list[i].ToString()); } return result.ToString(); } } }
What does this code do? It extends all classes that implement the IList interface with the ListToString method. The ListToString method allows getting list items separated by a comma in the form of the string.
To extend the functionality of standard interface, you need to involve NamespaceName. The following example demonstrates how this method can be used.
var _list = DataContextORM.ExecuteQuery("Select name from products").ToList(); string result = _list.ListToString();
The _list variable will contain all product names. The result variable will contain a string of names separated by a comma.
Tags: c# Last modified: September 23, 2021