Phương thức mở rộng phổ biến nhất hiện nay là LINQ thêm chức năng truy vấn System.Collections.IEnumerable và kiểu System.Collections.Generic.IEnumerable<T>. Để sử dụng các toán tử truy vấn chuẩn, đầu tiên using System.Linq. Sau đó, nhập để thực thi IEnumerable<T> xuất hiện giống như GroupBy <TSource, TKey>, OrderBy <TSource, TKey>, Average.
Ví dụ sau đây cho thấy làm thế nào để gọi toán tử truy vấn chuẩn OrderBy trên một mảng các số nguyên. Biểu thức trong ngoặc đơn là biểu thức lambda. Toán tử truy vấn chuẩn lấy biểu thức lambda như thông số, nhưng đây không phải là một yêu cầu đối với phương thức mở rộng.
class ExtensionMethods2
{
static void Main()
{
int[] ints = { 10, 45, 15, 39, 21, 26 };
var result = ints.OrderBy(g => g);
foreach (var i in result)
{
System.Console.Write(i + " ");
}
}
}
//Output: 10 15 21 26 39 45
Ví dụ sau đây cho thấy một phương thức mở rộng được định nghĩa cho class System.String. Lưu ý rằng nó được định nghĩa bên trong lớp non-nested, non-generic static:
namespace ExtensionMethods
{
public static class MyExtensions
{
public static int WordCount(this String str)
{
return str.Split(new char[] { ' ', '.', '?' },
StringSplitOptions.RemoveEmptyEntries).Length;
}
}
}
Sử dụng mở rộng phương thức WordCount
* Lưu ý: Người dùng phải Add Reference vào Project muốn sử dụng.
Và gọi ứng dụng từ cú pháp:
string s = "Hello Extension Methods";
int i = s.WordCount();