Код: Выделить всё
private static bool TryGetEnumeratedType(Type type, [NotNullWhen(true)] out Type? enumeratedType)
{
enumeratedType = null;
bool isEnumerable = type.GetInterfaces().Any(i => i.GetTypeInfo() == typeof(IEnumerable));
if (!isEnumerable)
{
return false;
}
Type? genericType = type.GetGenericArguments().FirstOrDefault();
if (genericType is null)
{
return false;
}
enumeratedType = genericType;
return true;
}
Код: Выделить всё
Type fieldType;
if (TryGetEnumeratedType(inType, out Type? type))
{
fieldType = type;
}
else
{
fieldType = inType;
}
Код: Выделить всё
Type fieldType;
bool isEnumerable = TryGetEnumeratedType(inType, out Type? type);
if (isEnumerable)
{
fieldType = type;
}
else
{
fieldType = inType;
}
Подробнее здесь: https://stackoverflow.com/questions/714 ... a-variable