2010-08-02 40 views
7

Có một khuôn khổ nào, làm cho việc sử dụng Reflection.Emit dễ dàng hơn không? Một cái gì đó tôi có thể nói: Cho tôi một lớp học với một lĩnh vực chuỗi và nhận được, thiết lập accessors.Framework for .net Reflection.Emit đơn giản hóa?

Mã tôi tìm thấy trong Create a class type in code in .net c# là những gì tôi cần nhưng có phần khó hiểu. Tôi nghĩ rằng một thư viện với một giao diện đơn giản sẽ tăng năng suất.

+3

Hãy thử ExpandoObject: http://msdn.microsoft.com/en-us/library/system.dynamic.expandoobject.aspx – Kimi

Trả lời

4

Tôi nghĩ bạn vừa mô tả CodeDOM. Thật không may, nó không thực sự (IMO) làm cho nó dễ dàng hơn - nó chỉ làm cho nó ... khác nhau.

Cá nhân, tôi muốn chỉ cần sử dụng TypeBuilder, ILGenerator và đóng gói các chức năng chung tôi cần, ví dụ:

PropertyBuilder CreateProperty(TypeBuilder type, string name, Type propertyType) 
{...} 

Meta-lập trình là hiếm khi đơn giản, nhưng từ chi tiết mà bạn có được một sự hiểu biết rất tốt những gì đang thực sự xảy ra.

+0

Tôi chắc chắn sẽ xem xét CodeDOM. Từ ấn tượng đầu tiên, nó là hấp dẫn đối với tôi. –

3

Hãy xem qua số CCI.

+0

CCI chắc chắn là một lựa chọn, mà tôi sẽ xem xét. Cảm ơn. –