Kiểu dữ liệu Generic trong C#

Generic là một tính năng mới được đưa vào từ .Net 2.0 và common language runtime (CLR). Nó đem lại một khả năng mới cho .Net framework. Giờ đây .Net có thể nhận bất cứ đối tượng nào và trả về đúng loại đối tượng đó.

* Ở một cấp độ cao hơn, chúng ta có thể kết hợp với lập trình động (Dynamic Programming) để có thể tạo cách xử lý linh hoạt hơn cho chương trình.

* Một số đặc điểm của Generic:

– Generic sẽ tạo ra cách xử lý chung nhất đối với mọi loại đối tượng, tạo ra một kiểu dữ liệu an toàn và đem lại hiệu quả cao cho chương trình. Việc xử lý có thể được tùy biến với một số loại đối tượng nhất định với dynamic hay reflection tạo các xử lý chắc chắn dành cho đối tượng đó.

+ Ví dụ: Ta có thể xem trong đối tượng có các thuộc tính nào đó rồi bạn mới áp dụng những kiểu xử lý trên từng loại đối tượng khác nhau.

Trong đó, C# có một từ khóa cho đối tượng generic là where cho phép bạn có thể điều chính được việc sử dụng chương trình với những đối tượng nào. Generic có thể hạn chế để cho phép truy cập đến các phương thức (method) trên các loại dữ liệu đặc biệt.

– Ứng dụng phổ biến nhất của Gerenic là tạo ra các collection class.

– Ngoài ra với Generic, chúng ta có thể tạo ra các interface, class, method, event và delegates.

– Trong namespace System.Collection.Generic, có chứa sẵn có collection framework.

——————————————–

Kết luận:

– Generic là một trong những cải tiến rất đáng giá của .Net 2.0 dù nó chưa mạnh bằng Dynamic và Reflection nhưng với tốc độ cao và cách sử dụng khá đơn giản, bạn đã có thể sử dụng được để rút gọn được khá nhiều code trong chương trình.

– Thay vì phải viết 5-10 phương thức chỉ để xữ lý các kiểu dữ liệu khác nhau thì giờ đây bạn có thể rút ngắn lại thành một phương thức duy nhất để lấy dữ liệu và xử lý.

 

Tagged: , , , , , , , , , ,

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s

%d bloggers like this: