Tôi hiện đang cố gắng tìm ở khắp mọi nơi trong một giải pháp mà một enum cụ thể được chuyển thành một chuỗi, có hay không ToString() được gọi một cách rõ ràng. (Những đang được thay thế bằng một chuyển đổi sử dụng mô tả enum để cải thiện obfuscation.)Tìm ở khắp mọi nơi một enum được chuyển thành chuỗi
Ví dụ: Tôi muốn tìm mã như string str = "Value: " + SomeEnum.someValue;
tôi đã cố gắng thay thế các enum chính nó với một lớp wrapper chứa ngầm chuyển đổi sang kiểu enum và ghi đè ToString() trong lớp trình bao bọc, nhưng khi tôi thử tìm kiếm sử dụng ToString() ghi đè nó sẽ cho tôi một danh sách các địa điểm trong giải pháp ToString() được gọi trên bất kỳ thứ gì (và chỉ ở đâu nó được gọi một cách rõ ràng). Việc tìm kiếm đã được thực hiện với ReSharper trong Visual Studio.
Có cách nào khác để tìm các chuyển đổi enum-to-string này không? Việc trải qua toàn bộ giải pháp theo cách thủ công không có vẻ thú vị.
đội Roslyn, tôi đã gắn thẻ này vì vậy tôi biết bạn sẽ nhìn thấy nó. :-) Các bit phát hành hiện tại của Roslyn có cho phép tìm kiếm AST cho loại chuyển đổi này không? –
Chỉ cần mở rộng những gì bạn đã làm, nếu trong lớp wrapper của bạn, bạn cũng tạo một chuyển đổi 'implicit' thành' string' và đánh dấu nó bằng thuộc tính '[Obsolete]', cảnh báo trình biên dịch/lỗi sẽ thông báo cho bạn ở mọi nơi : http://stackoverflow.com/questions/10585594/how-to-get-find-usages-working-with-implicit-operator-methods Nó không phải là một câu trả lời, nhưng có thể giúp bạn trong một pinch. –