2011-02-09 18 views
6

Làm cách nào tôi có thể bắt chước chức năng của ExpandoObject trong ứng dụng .NET 3.5 với chi phí thấp nhất? Dẫn đầu tốt nhất của tôi cho đến nay là sử dụng khung Lin Fu (http://www.codeproject.com/KB/cs/LinFuPart2.aspx), nhưng tôi nghĩ có thể có điều gì đó tốt hơn.Thay thế cho ExpandoObject trong .NET 3.5 với ít chi phí thấp nhất

Để biết rõ hơn về những gì tôi sẽ làm ở đây, mục tiêu của tôi là tự động tạo loại từ các tham số của MethodInfo. Vì vậy, về cơ bản tôi muốn tắt chức năng này:

public class ServiceObject 
    { 
     public void Execute(string TransformMeIntoAProperty); 
    } 

vào

public class ServiceObjectExecuteSignature 
    { 
     public string TransformMeIntoAProperty{ get; set;} 
    } 

khi chạy. Tôi có thể truy cập các tham số bằng cách sử dụng Reflection, bởi vì tôi đang sử dụng biểu thức LINQ.

Trả lời

0

Bạn có thể sử dụng CodeDom để tự động biên dịch một số loại mới khi chạy. Rõ ràng là có một chi phí trả trước để làm điều đó .... Tôi cho rằng nó phụ thuộc vào tuổi thọ của các loại bạn đang tạo ra.

Các vấn đề liên quan