2011-12-30 63 views
5

Tôi đang cố gắng tìm hiểu tất cả các lớp và hội đồng đang sử dụng/tham chiếu một lớp cụ thể. Có cách nào để tìm hiểu thông qua lập trình trong C#?Tìm Tham chiếu đến Lớp & Phương pháp

Ví dụ, nếu Class1 được gọi là/tham chiếu bởi Class2 trong Assembly1, Class3 trong Assembly2, tôi muốn tìm Class2 & Class3 sử dụng C# lập trình.

Có ai có thể giúp tôi không? Có công cụ nào có thể giúp ích cho việc này không? Tôi muốn viết một chương trình nhỏ để đọc lớp từ một assembly và tìm các lớp mà lớp đó được tham chiếu/sử dụng.

Câu hỏi của tôi ngắn gọn: Cách tìm lớp hoặc phương thức chưa sử dụng trong codebase của tôi bằng cách viết chương trình C# như một phần của hoạt động dọn dẹp mã?

+3

Là nó trong thời gian biên dịch hoặc chạy-thời gian? – oleksii

+0

"Thẻ này dành cho các câu hỏi lập trình ngôn ngữ lắp ráp không dành riêng cho bất kỳ bộ xử lý nào". - hãy sử dụng thẻ [.net-assembly] thay vì –

+0

Nếu thời gian chạy, có thể thông qua sự phản chiếu, nhưng bạn sẽ phải liệt kê tất cả các cụm, tất cả các lớp của chúng, tất cả các phương thức, thuộc tính và hàm tạo và các tham số của chúng, v.v. các lớp học và sau đó bạn sẽ vẫn không bắt tài liệu tham khảo chỉ được sử dụng trong cơ thể mã của các phương pháp, vv – Casperah

Trả lời

1

Nếu bạn đang tìm kiếm công cụ để thực hiện việc này, bạn có thể sử dụng NDepend để có thể thực hiện những gì bạn mô tả và cũng nhiều hơn thế nữa.

Hoặc, nếu bạn đang sử dụng ReSharper: Right-Click "tìm cách dùng" ... (không hữu ích cho việc tìm kiếm mã không sử dụng thực sự)

+0

Nói về việc tốn thời gian để thực hiện điều đó trên mọi lớp/phương thức vì anh ta muốn tìm các lớp/phương thức không sử dụng để làm sạch mã lên. – jgauffin

+1

Sau đó sử dụng NDepend. Nó là công cụ hoàn hảo để làm điều này. "Tìm mã chết" là một tính năng chính. –

+0

Cảm ơn noah vì đã trợ giúp nhanh. – nRk

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