public override bool CanConvertFrom()

in plugin-dotnet-agent/src/main/csharp/TeamCity.Dotnet.TestSuppressor/TeamCity.Dotnet.TestSuppressor/Infrastructure/Verbosity.cs [38:60]


    public override bool CanConvertFrom(ITypeDescriptorContext? context, Type sourceType) =>
        sourceType == typeof(string) || base.CanConvertFrom(context, sourceType);

    public override object? ConvertFrom(ITypeDescriptorContext? context, CultureInfo? culture, object value)
    {
        if (value is string input)
        {
            foreach (Verbosity verbosity in Enum.GetValues(typeof(Verbosity)))
            {
                foreach (var alias in GetAliases(verbosity))
                {
                    if (alias.Equals(input, StringComparison.OrdinalIgnoreCase))
                    {
                        return verbosity;
                    }
                }
            }

            return Enum.TryParse<Verbosity>(input, true, out var result) ? result : Verbosity.Normal;
        }

        return base.ConvertFrom(context, culture, value);
    }