I have the following attribute:
public class MultipleInteractivitiesAttribute : CheckBaseAttribute
{
    private readonly IInteractivityService _interactivityService;
    public MultipleInteractivitiesAttribute(IInteractivityService interactivityService)
    {
        _interactivityService = interactivityService;
    }
    public override Task<bool> ExecuteCheckAsync(CommandContext ctx, bool help)
    {
        var userId = ctx.User.Id;
        var cmdName = ctx.Command.QualifiedName;
        return Task.FromResult(!_interactivityService.CheckForUserInteractivity(userId, cmdName));
    }
}
And the following class which has a method I use the attribute on.
public class RecruitmentModule : BaseCommandModule
{
    private readonly IInteractivityService _interactivityService;
    public RecruitmentModule(IInteractivityService interactivityService)
    {
        _interactivityService = interactivityService;
    }
    
    [Command("apply"), MultipleInteractivities()]
    public async Task Apply(CommandContext ctx)
    {
          // some code here
    }
}
Now I get a problem when I use the MultipleInteractivities as attribute above the Apply method. It expects me to pass an argument to its constructor.
Now since I already inject IInteractivityService in the constructor of the RecruitmentModule class. I try to pass it as an argument to my MultipleInteractivities attribute.
Like this:
[Command("apply"), MultipleInteractivities(_interactivityService)]
However, this gives the following error:
Cannot access non-static field '_interactivityService' in static context
So I try to make _interactivityService field static in the RecruitmentModule class like this:
private static IInteractivityService _interactivityService;
Now I get the following error when it is passed as an argument to my MultipleInteractivities attributes.
Attribute constructor parameter 'interactivityService' has type 'DiscordBot.Core.Interfaces.IInteractivityService', which is not a valid attribute parameter type
How can I get IInteractivityService passed to my MultipleInteractivitiesAttribute without getting errors.