26 thg 1, 2010
10 thg 1, 2010
Generics trong C#
Generics là 1 đặc tính mới có trong .NetFw 2.0, khái niệm Generics có ý nghĩa tương tự như Template trong C++ , nhằm hỗ trợ tạo ra các lớp không phụ thuộc vào kiểu dữ liệu của 1 số biến trong lớp đó. Ví dụ khi ta cần tạo ra 1 danh sách liên kết (List) cho các kiểu dữ liệu Int, String, Float,… nếu không sử dụng Template hay Generics thì bao nhiêu kiểu dữ liệu ta phải tạo ra bấy nhiêu class chỉ khác kiểu dữ liệu các phần tử con (ListInt, ListString, ListFloat,…). Với Generics và Template ta chỉ việc tạo ra 1 class với kiểu dữ liệu các phần tử con được xem như 1 tham số được truyền vào khi tạo instance của class đó (List
Ví dụ : List
List
// Declare the generic class
public class GenericList
{
void Add(T input) { }
}
class TestGenericList
{
private class ExampleClass { }
static void
{
// Declare a list of type int
GenericList<int> list1 = new GenericList<int>();
// Declare a list of type string
GenericList<string> list2 = new GenericList<string>();
// Declare a list of type ExampleClass
GenericList
}
}