2012-02-09 32 views
7

thể trùng lặp:
Extension Method PerformancePhương pháp mở rộng: Vấn đề về hiệu suất khi sử dụng quá nhiều?

tôi sẽ phải đối mặt với vấn đề hiệu suất khi Tôi đang sử dụng phương pháp mở rộng quá nặng bằng cách nào?

Chỉ cần ví dụ:

Cho phép nói rằng tôi có 100 phương pháp mở rộng trên chuỗi loại và đối tượng kinh doanh có 50 thuộc tính chuỗi. Bây giờ tôi tạo một bộ sưu tập đối tượng kinh doanh này, có thể là 500 mục?

Các phương pháp mở rộng này trên chuỗi có ảnh hưởng đến RAM, CPU, ...?!

Tôi thực sự thích các phương pháp mở rộng nhưng tôi muốn biết liệu có giới hạn liên quan đến việc sử dụng nó hay không.

Trả lời

13

Không, bạn sẽ không làm như vậy.

Phương pháp mở rộng chỉ là phương pháp tĩnh bình thường với một số đường cú pháp. Sử dụng chúng nhiều như bạn muốn :)

+0

Tôi đang viết thư viện tiện ích để biết điều này là tốt đẹp để biết – DerpyNerd

5

Bạn có thể làm chậm intellisense xuống trong IDE - và có thể làm cho các danh sách intellisense hơi khó sử dụng, nhưng nó sẽ không có bất kỳ tác động nào đến việc thực thi mã. phương pháp tĩnh.

3

Phương pháp mở rộng là một phần của lớp tĩnh và đó là một cú pháp đường vì mô phỏng một số phương pháp tĩnh là phương pháp thể hiện của một số lớp khác.

Tóm lại, không có hình phạt về hiệu suất tại đây. Nó giống nhau ExtensionMethods.YourExtensionMethod(objectToAddMethod)objectToAddMethod.YourExtensionMethod().

1

Tôi nghĩ rằng đây là một bản sao:

Xem: Is there a performance hit for creating Extension methods that operate off the object type?

Câu trả lời có giải thích điều này rất tốt!

+3

Nếu bạn cho rằng đây là bản sao, bạn cần phải nhận xét câu hỏi OP thay vì thêm câu trả lời vô dụng;) –

+0

làm cách nào để làm điều đó? Tôi đã tích cực bắt đầu sử dụng StackOverflow nên mọi mẹo sẽ tốt đẹp. – Digvijay

+0

@Digvijay Nhấp vào 'close' tại câu hỏi. Bạn cần ** [3000 danh tiếng] (http://stackoverflow.com/privileges/close-questions) ** mặc dù – sehe

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