Количество классов в.NET?

Несколько путей.

, не определяя тип должен иметь конструктора:

T obj = default(T); //which will produce null for reference types

С конструктором:

T obj = new T();

, Но это требует пункта:

where T : new()
15
задан Peter Mortensen 30 August 2017 в 18:17
поделиться

1 ответ

На этой странице указано количество типов (40513 в 3.5SP1) - действительно ли для вас важно различать классы и структуры / перечисления / интерфейсы?

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

Учитывая список сборок, очень легко вычислить количество классов:

int classes = assemblies.GetTypes()
                        .Where(t => t.IsClass)
                        .Count();

Предполагается, что вы хотите всех классов хотя - вас на самом деле интересуют только общедоступные классы?

int classes = assemblies.GetTypes()
                        .Where(t => t.IsClass && t.IsPublic)
                        .Count();
17
ответ дан 1 December 2019 в 04:09
поделиться
Другие вопросы по тегам:

Похожие вопросы: