Как и на первой странице, на которую вы ссылаетесь, вам нужно использовать TypeInfo
вместо Type
. Есть и другие изменения, например, Assembly
имеет свойство DefinedTypes
вместо метода GetTypes()
. Модифицированный код может выглядеть так:
var tProductType = typeof(TProduct).GetTypeInfo();
var types = tProductType.Assembly.DefinedTypes; // or .ExportedTypes
foreach (var type in types)
{
if (!tProductType.IsAssignableFrom(type) || type == tProductType)
{ }
}