Fixing #1507 AddDelegate uses an abstract type when used in a branch (#1509)

This commit is contained in:
BlazeFace
2024-04-13 05:40:12 -07:00
committed by GitHub
parent fc0b553a4a
commit eb38f76a6a
2 changed files with 56 additions and 2 deletions

View File

@ -324,11 +324,16 @@ public static class ConfiguratorExtensions
/// <param name="func">The delegate to execute as part of command execution.</param>
/// <returns>A command configurator that can be used to configure the command further.</returns>
public static ICommandConfigurator AddDelegate<TSettings>(
this IConfigurator<TSettings> configurator,
this IConfigurator<TSettings>? configurator,
string name,
Func<CommandContext, int> func)
where TSettings : CommandSettings
where TSettings : CommandSettings
{
if (typeof(TSettings).IsAbstract)
{
AddDelegate(configurator as IConfigurator<EmptyCommandSettings>, name, func);
}
if (configurator == null)
{
throw new ArgumentNullException(nameof(configurator));