2009-01-06 33 views
10

Có phương thức GetILAsByteArray trong lớp MethodBody cung cấp phần thân của phương thức. Tôi đang tìm kiếm để chuyển đổi mảng byte này thành hướng dẫn IL dễ hiểu hơn (vào một danh sách hoặc một cái gì đó như thế). Tài nguyên nào, mã nguồn mở hoặc api có sẵn để giúp tôi hiểu và chuyển đổi mảng byte này (hoặc làm điều đó cho tôi)?API để nhận IL từ mảng byte

Tôi tìm thấy điều này nhưng nó không hoạt động với Generics. Tôi đang tìm kiếm nhiều hướng dẫn để chuyển đổi hiểu các byte này trong tất cả các phiên bản khung công tác.

Tài liệu CLI cũng hữu ích cho việc học hướng dẫn IL nhưng tôi không thể xem cách sử dụng nó để làm cho các byte này có ý nghĩa.

+0

Hi Serhat, bạn có thể yêu cầu thêm thông tin hoặc chấp nhận câu trả lời không? –

Trả lời

1

Đó là một công việc lớn. Tôi đã viết bắt đầu của một người đọc IL và nó có một số lượng khá tốt của opcodes thực hiện: nhưng bạn sẽ cần phải hoàn thành nó.

http://svn.ensemble-os.org/tags/OldOCJ/CIL/

Ngoài ra còn có MONO Cecil, đó là tính năng hoàn chỉnh.

2

Hãy xem thư viện Mono.Cecil.

8

Tôi vừa viết một phương pháp mở rộng để có danh sách hướng dẫn dễ hiểu hơn khi sử dụng GetILAsByteArray. Nó khá đơn giản, API là như:

public static IList<Instruction> GetInstructions (this MethodBase self); 

Bạn có thể đọc thêm về việc thực hiện trong blog post tôi. Hoặc bạn có thể đi lấy số implementation và bắt đầu sử dụng nó.

+0

Đã lưu ngày của tôi ... – mark

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