Tôi có một câu hỏi liên quan đến việc gọi phương thức chung của lớp với tham số kiểu được biết khi chạy.Gọi hàm chung với tham số kiểu được xác định tại thời gian chạy
Cụ thể, mã trông giống như vậy:
FieldInfo[] dataFields = this.GetType().GetFields(BindingFlags.Public | BindingFlags.Instance);
// data is just a byte array used internally in DataStream
DataStream ds = new DataStream(data);
foreach (FieldInfo field in dataFields)
{
Type fieldType = field.FieldType;
// I want to call this method and pass in the type parameter specified by the field's type
object objData = (object) ds.Read<fieldType>();
}
Read() chức năng trông giống như vậy: mục đích
public T Read() where T : struct
của chức năng này là để trả lại dữ liệu đọc từ một mảng byte.
Có cách nào để gọi một phương pháp chung trong thời gian chạy như thế này không?
Cảm ơn bạn đã trả lời, tôi chưa bao giờ xem xét một thay đổi thiết kế đơn giản như vậy. –
Vấn đề của tôi không giống như câu hỏi OP, nhưng bạn đã chứng minh chính xác những gì tôi cần biết. Cảm ơn! – KennyZ