Насколько дорого стоит .NET отражение? - PullRequest
201 голосов
/ 25 августа 2008

Я постоянно слышу, как плохо использовать отражение. Хотя я обычно избегаю рефлексии и редко нахожу ситуации, когда без нее невозможно решить мою проблему, мне было интересно ...

Для тех, кто использовал отражение в приложениях, измеряли ли вы снижение производительности и действительно ли это так плохо?

Ответы [ 13 ]

3 голосов
/ 25 августа 2008

Как и все, все дело в оценке ситуации. В DotNetNuke есть довольно основной компонент, называемый FillObject, который использует отражение для заполнения объектов из датаров.

Это довольно распространенный сценарий, и на MSDN есть статья Использование отражения для привязки бизнес-объектов к элементам управления ASP.NET , в которой рассматриваются проблемы производительности.

Помимо производительности, одна вещь, которая мне не нравится в использовании отражения в этом конкретном сценарии, заключается в том, что он имеет тенденцию уменьшать способность понимать код одним взглядом, что для меня, похоже, не стоит усилий, когда вы рассматриваете себя также теряет безопасность времени компиляции в отличие от строго типизированных наборов данных или чего-то вроде LINQ to SQL .

2 голосов
/ 16 октября 2008

Отражение не сильно снижает производительность вашего приложения. Вы можете быть в состоянии сделать определенные вещи быстрее, не используя рефлексию, но если Рефлексия - самый простой способ достичь некоторой функциональности, то используйте ее. Вы всегда можете сделать рефакторинг своего кода подальше от Reflection, если это станет проблемой.

1 голос
/ 02 мая 2009

Я думаю, вы найдете ответ, это зависит. Это не имеет большого значения, если вы хотите поместить его в приложение списка задач. Это большое дело, если вы хотите поместить его в постоянную библиотеку Facebook.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...