2012-02-09 19 views
7

Powiel możliwe:
Extension Method PerformanceMetody rozszerzeń: Problem z wydajnością w przypadku używania zbyt dużej ilości?

Will twarz problemy z wydajnością, gdy jestem przy użyciu metody przedłużania zbyt ciężkie w jakikolwiek sposób?

Wystarczy przykład:

Powiedzmy Ive 100 metod rozszerzenie na strunie i typu obiektu biznesowego, który ma 50 właściwości ciągów. Teraz tworzę kolekcję tego obiektu biznesowego, może 500 przedmiotów?

Czy te metody rozszerzenia na ciąg mają jakikolwiek wpływ na pamięć RAM, procesor, ...?!

Bardzo lubię metody przedłużania, ale chciałbym wiedzieć, czy istnieje ograniczenie dotyczące jego użycia.

Odpowiedz

13

Nie, nie będziesz.

Metody rozszerzające to po prostu normalne metody statyczne z dodatkiem cukru syntaktycznego. Używaj ich tyle, ile chcesz :)

+0

Piszę bibliotekę rozszerzeń, więc dobrze jest wiedzieć – DerpyNerd

5

Możesz zwolnić intellisense w IDE - i prawdopodobnie uczynić listy intellisense nieco nieporęcznymi, ale nie będzie to miało żadnego wpływu na wykonanie samego kodu nad jakimkolwiek innym metoda statyczna.

3

Metoda rozszerzenia jest częścią klasy statycznej i jest to cukier syntaktyczny, ponieważ symuluje, że niektóre metody statyczne są metodą instancji innej klasy.

Podsumowując, tutaj nie ma kary za wyniki. Jest to ten sam ExtensionMethods.YourExtensionMethod(objectToAddMethod) i objectToAddMethod.YourExtensionMethod().

1

myślę, że to jest duplikatem:

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

tamtejszych odpowiedź wyjaśnia to bardzo dobrze!

+3

Jeśli uważasz, że jest to duplikat, musisz skomentować pytanie OP zamiast dodawać bezużyteczną odpowiedź;) –

+0

jak to zrobić? Właśnie zacząłem aktywnie używać StackOverflow, więc wszelkie wskazówki byłyby miłe. – Digvijay

+0

@ Digvijay Kliknij "zamknij" na pytanie. Potrzebujesz ** [3000 reputacji] (http://stackoverflow.com/privileges/close-questions) ** chociaż – sehe

Powiązane problemy