2011-01-17 34 views
11

Có cách nào trong .NET để biết tham số nào và giá trị của chúng được chuyển đến phương thức hay không. Cách phản chiếu? Điều này sẽ được sử dụng từ bên trong phương thức. Nó phải là chung chung để nó có thể được sử dụng từ bất kỳ phương pháp nào. Đây là mục đích ghi nhật ký.Nhận tên và giá trị thông số của phương thức từ phương thức bên trong

+0

Tôi đã kết thúc việc thực hiện [Thao tác ghi nhật ký, đo từ xa và biến này trong dự án Trình xử lý ngoại lệ toàn cầu] (https://stackoverflow.com/questions/30326673/user-activity-logging-telemetry-and-variables-in-global -exception-handlers) –

Trả lời

4

Những gì bạn đang cố gắng làm có thể đạt được dễ dàng bằng cách sử dụng lập trình hướng khía cạnh. Có hướng dẫn tốt trên mạng, tôi sẽ trỏ đến hai trong số họ:

+0

+1 AFAIK đây là cách hiệu quả duy nhất để đạt được mục tiêu này. Cách duy nhất khác sẽ là sử dụng một quy trình khác để gỡ lỗi quy trình hiện tại, khó chịu, không đáng tin cậy và chậm. –

+1

Tại sao lại là downvote? AOP/dệt có thể là một giải pháp cho vấn đề. –

+0

lập trình hướng khía cạnh là một phương pháp. Nó vẫn còn dịch cuối cùng để một số api của NET. –

5

Gọi MethodBase.GetCurrentMethod().GetParameters().
Tuy nhiên, không thể lấy các giá trị tham số; do tối ưu hóa JIT, chúng có thể không còn tồn tại nữa.

9

MethodInfo.GetCurrentMethod() sẽ cung cấp cho bạn thông tin về phương pháp hiện tại và sau đó nhận thông tin về các thông số sử dụng GetParameters().

+5

điều này không cung cấp giá trị tham số –

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