This commit is contained in:
Tyrrrz
2021-04-08 20:53:48 +03:00
parent 038f48b78e
commit 65eaa912cf

View File

@@ -21,17 +21,10 @@ namespace CliFx.Schema
public IReadOnlyList<object?> GetValidValues() public IReadOnlyList<object?> GetValidValues()
{ {
Type typeToCheck = Type; var underlyingType =
foreach (var inf in typeToCheck.GetInterfaces()) Type.TryGetNullableUnderlyingType() ??
{ Type.TryGetEnumerableUnderlyingType() ??
if (inf.IsGenericType && inf.GetGenericTypeDefinition() == typeof(IEnumerable<>)) Type;
{
typeToCheck = inf.GenericTypeArguments[0];
break;
}
}
var underlyingType = typeToCheck.TryGetNullableUnderlyingType() ?? typeToCheck;
// We can only get valid values for enums // We can only get valid values for enums
if (underlyingType.IsEnum) if (underlyingType.IsEnum)