Каковы правила поиска Type.GetType для имени типа с префиксом "."? - PullRequest
4 голосов
/ 04 декабря 2011

например Type.GetType(".System.Collections.ArrayList", false, false) против Type.GetType("System.Collections.ArrayList", false, false)

Я предполагал, что они эквивалентны, но я заметил, что первое занимает в два раза больше времени, чем второе, и при дальнейшем исследовании я не могу найти явногоподдержка первого: http://msdn.microsoft.com/en-us/library/w3f99sx1.aspx.

Являются ли они эквивалентными, и если да, то есть идея, почему первый в два раза дольше, чем последний, чтобы разрешить?

Ответы [ 2 ]

0 голосов
/ 21 ноября 2012

Здесь действительно нет концепции глобального пространства имен, потому что пространства имен, которые вы открываете, не имеют значения в этом контексте.

Думайте об этом, как всегда, ища от корня (глобальный).Type.GetType не находится ни в каком пространстве имен и не имеет открытых пространств имен.Вы должны указать тип искомого типа, включая его пространство имен.

0 голосов
/ 04 декабря 2011

По предоставленной вами ссылке:

Точка (.) Обозначает идентификаторы пространства имен.

Я бы предположил, что с ведущим . заставляет сканировать ВСЕ пространства имен, даже те, которые находятся вне текущей сборки.

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