Trong bài viết này, tôi sẽ giới thiệu cách giải quyết hai vấn đề bạn có thể gặp phải khi làm việc với .NET:
– Tạo instance của một kiểu dữ liệu bất kì với .
– Chuyển đổi một đối tượng sang một kiểu dữ liệu bất kì.
Tag Archives: Reflection
Java – Tìm hiểu về Reflection (Runtime Type Information)
Reflection là kĩ thuật rất cần thiết để lấy các thông tin của một kiểu dữ liệu. Dựa vào đó ta có thể kích hoạt (như các phương thức) hoặc tạo thể hiện của kiểu dữ liệu đó. Một ứng dụng quan trọng của reflection mà bạn có thể biết là Java Bean. Nhờ đó, các IDE (như NetBeans) có thể lấy được các thông tin và thiết lập giá trị cho các đối tượng.
DLR– Dynamic Programming: Một wrapper của string với DynamicObject và reflection
Như đã giới thiệu trong bài “ExpandoObject, DynamicObject và Dynamic Method Bag“, để minh họa rõ ràng hơn cho cách sử dụng DynamicObject, tôi đã tạo một wrapper của lớp string với tên gọi Y2String trong C#. Lớp này sẽ override các phương thức cần thiết của DynamicObject để sử dụng được các phương thức của string và bổ sung thêm một số tính năng khác.
.Net – Kĩ thuật Reflection Emit trong C#
Reflection Emit là một kĩ thuật giúp bạn tạo ra các assembly động trong quá trình thực thi. Để chuẩn bị cho bài viết này, tôi đã dành khá nhiều thời gian nghiên cứu và viết một series hướng dẫn về MSIL/CIL, cũng như về kĩ thuật Reflection và CodeDom. Hãy xem đó là những tham khảo ưu tiên nếu như bạn cần tìm hiểu về chúng.
Tiếp tục đọc
Y2-ReflectorDemo – Xem thông tin các thư viện .Net
Chương trình Y2 ReflectorDemo này đã được giới thiệu trong bài viết Kĩ thuật Reflection tuy nhiên không bao gồm mã nguồn. Dự định của tôi là bổ sung và hoàn thiện một số chức năng trước khi đưa ra mã nguồn, tuy nhiên do thời gian và công việc không cho phép nên tôi mạn phép đưa chương trình này lên. Chương trình chưa hoàn thiện nhưng là một ví dụ điển hình về ứng dụng Reflection trong .Net.