Member 13289528 Ответов: 2

Как исправить ошибку cs1503 на аргументе c# 1: не удается преобразовать из 'system.reflection.assembly' в 'system.type'


public class CommandHandler
    {
        private DiscordSocketClient _client;

        private CommandService _service;

        public CommandHandler(DiscordSocketClient client)
        {
            _client = client;

            _service = new CommandService();

            _service.AddModuleAsync(Assembly.GetEntryAssembly());

            _client.MessageReceived += HandleCommandAsync;
        }

        private async Task HandleCommandAsync(SocketMessage s)
        {
            var msg = s as SocketUserMessage;
            if (msg == null) return;

            var context = new SocketCommandContext(_client, msg);

            int argPos = 0;
            if (msg.HasCharPrefix('!', ref argPos))
            {
              var result = await _service.ExecuteAsync(context, argPos);

                if (!result.IsSuccess && result.Error != CommandError.UnknownCommand)
                {
                    await context.Channel.SendMessageAsync(result.ErrorReason);
                }
            }
        }
    }


Что я уже пробовал:

Ничего особенного я не знаю так уж много о с#

2 Ответов

Рейтинг:
2

OriginalGriff

Начните с просмотра класса CommandService, а именно метода AddModuleAsync.

Скорее всего, он ожидает Тип, А вы передаете сборку.

Мы не можем сделать это для вас; у нас нет никакого доступа к вашему другому коду!


Рейтинг:
0

Member 13707333

AddModulesAsync

С буквой "s": модули