Đây là giao dịch. Tôi đã có một chương trình mà sẽ tải một hội đồng nhất định, phân tích qua tất cả các loại và các thành viên của họ và biên dịch một TreeView (rất giống với trang MSDN cũ) và sau đó xây dựng các trang HTML cho mỗi nút trong TreeView. Về cơ bản nó có một hội đồng nhất định và cho phép người dùng tạo thư viện giống MSDN của riêng họ cho nó cho mục đích tài liệu. Đây là vấn đề tôi đã gặp phải: bất cứ khi nào một toán tử quá tải được đếm trong một lớp xác định, sự phản xạ trả về như là một "MethodInfo" với tên được đặt thành "op_Assign" hoặc "op_Equality". Tôi muốn có thể nắm bắt chúng và liệt kê chúng đúng cách, nhưng tôi không thể tìm thấy bất cứ điều gì trong đối tượng MethodInfo được trả về để xác định chính xác rằng tôi đang tìm kiếm một toán tử.Sự phản ánh và điều hành quá tải trong C#
Tôi chắc chắn không muốn chỉ chụp mọi thứ bắt đầu bằng "op_", vì điều đó chắc chắn nhất (ở một thời điểm nào đó) sẽ nhận được một phương thức mà nó không được yêu cầu. Tôi biết rằng các phương pháp và thuộc tính khác là "trường hợp đặc biệt" như trường hợp này có thuộc tính "IsSpecialName", nhưng không phải là trường hợp với các toán tử.
Tôi đã cọ rửa 'net và wracking não của tôi để hai ngày cố gắng để con số này ra, vì vậy bất kỳ trợ giúp sẽ được đánh giá rất nhiều.
Dự án NRefactory có liên quan ở đây. Nó có phương pháp phân tích cú pháp để trợ giúp với điều này. https://github.com/icsharpcode/NRefactory/blob/master/ICSharpCode.NRefactory.CSharp/Parser/mcs/method.cs – yoyo