Поведение Assembly.getTypes () Изменено в Visual Studio 2015C#

Место общения программистов C#
Ответить
Anonymous
 Поведение Assembly.getTypes () Изменено в Visual Studio 2015

Сообщение Anonymous »

вчера открыл наше решение в Visual Studio 2015 и несколько наших модульных тестов (которые прекрасно проходили в Visual Studio 2013), начав неудачу. Digger глубже я обнаружил, что это было потому, что вызов getTypes () на сборке возвращал разные результаты. Я смог создать очень простой тестовый пример, чтобы проиллюстрировать его. Я помещаю следующий код в обоих проектах. < /P>

Код: Выделить всё

class Program
{
static void Main(string[] args)
{
var types = typeof(Program).Assembly.GetTypes()
.Where(t => !t.IsAbstract && t.IsClass);

foreach (var type in types)
{
Console.WriteLine(type.FullName);
}

Console.ReadKey();
}
}
< /code>
Когда я работаю в Visual Studio 2013, я получаю следующий выход (как и ожидалось). < /p>

vs2013Example.program < /p>
< /blockquote>
Когда я работаю в Visual Studio 2015, я получаю следующий выход (не как ожидалось). < /p>

vs2015example.program < /p>
vs2015Example.program+< >c
< /blockquote>
Итак, что это такое vs2015example.program+  c 
Тип? Оказывается, это лямбда внутри метода .where () . Да, это верно, так или иначе, что местная Lambda выставлена ​​как тип. Если я прокомментирую .hope ()
< P> Кто -нибудь еще видел это?>

Подробнее здесь: https://stackoverflow.com/questions/315 ... tudio-2015
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «C#»