• Najnowsze pytania
  • Bez odpowiedzi
  • Zadaj pytanie
  • Kategorie
  • Tagi
  • Zdobyte punkty
  • Ekipa ninja
  • IRC
  • FAQ
  • Regulamin
  • Książki warte uwagi

question-closed Problem z operatorem += C#

Aruba Cloud VPS - 50% taniej przez 3 miesiące!
0 głosów
778 wizyt
pytanie zadane 6 listopada 2020 w C# przez Chodok Nowicjusz (200 p.)
zamknięte 7 listopada 2020 przez Chodok

Witam,

postanowiłem napisać bota do Discorda, z tego poradnika, niestety mimo identycznego kodu mam błąd (podświetlona linijka), którego nie ma w filmie (skopiowałem nawet cały kod z tego przykładu z GitHub i ten błąd też wystąpił). Używam biblioteki DSharpPlus.

Kod:

using DSharpPlus;
using DSharpPlus.EventArgs;
using System;
using System.Collections.Generic;
using System.Text;
using System.Threading.Tasks;

namespace MyBot
{
    class Bot
    {

       public DiscordClient Client { get; private set; }
       public async Task RunAsync()
       {
            var config = new DiscordConfiguration
            {

            };
            Client = new DiscordClient(config);

            Client.Ready += OnClientReady;

       }
        private Task OnClientReady(ReadyEventArgs e)
        {
            return null;
        }
    }
}

Treść błędu:

Błąd    CS0123    Żadne z przeciążeń dla elementu „OnClientReady” nie pasuje do delegata „AsyncEventHandler<DiscordClient, ReadyEventArgs>”. 

IDE: Visual Studio Community 2019

PS. Mógłbym też prosić o wytłumaczenie działania operatora += w kontekście zdarzeń?

Z góry dzięki za pomoc

komentarz zamknięcia: Otrzymałem odpowiedż.
komentarz 6 listopada 2020 przez adrian17 Mentor (350,860 p.)
Co jeśli zmienisz `OnClientReady` na async?
komentarz 6 listopada 2020 przez Chodok Nowicjusz (200 p.)
Wywaliło kilka innych, błędów ale po ich eliminacji i tak CS 0123 pozostał.
1
komentarz 6 listopada 2020 przez Siemił Mądrala (7,380 p.)

@Szczepan Wikar, += dodajesz funkcje ktora obsluzy zdarzenie. W tym wypadku gdy nastapi event Ready zostanie wykonana funkcja OnClientReady. Ale zeby funkcja mogla obsluzyc dane zdarzenie musi miec odpowiednia wartosc zwracana, oraz prawidlowe typu parametry. Jakie to sa prawiflowe typy okresla delegat. Twoja funkcja posiada tylko jeden parametr typu ReadyEventArgs. Musisz dodac drugi typu DiscordClient.

komentarz 7 listopada 2020 przez Chodok Nowicjusz (200 p.)
Dzięki o to chodziło.

1 odpowiedź

0 głosów
odpowiedź 7 listopada 2020 przez Chodok Nowicjusz (200 p.)
Siemił miał rację miał rację, należało dodać drugi argument typu DiscordClient. Dodam, że błędu nie ma tylko wtedy jak argumenty w funkcji są w kolejności DiscordClient, ReadyEventArgs.

Dzięki wszystkim za pomoc, zamykam.

Podobne pytania

0 głosów
0 odpowiedzi 212 wizyt
pytanie zadane 7 marca w C# przez Szymon Piątkowski Nowicjusz (150 p.)
0 głosów
0 odpowiedzi 619 wizyt
pytanie zadane 3 listopada 2021 w JavaScript przez Maxxxii Obywatel (1,310 p.)
–1 głos
1 odpowiedź 398 wizyt
pytanie zadane 21 kwietnia 2020 w JavaScript przez MacixxPL Nowicjusz (120 p.)

93,174 zapytań

142,185 odpowiedzi

321,970 komentarzy

62,503 pasjonatów

Advent of Code 2024

Top 15 użytkowników

  1. 1157p. - dia-Chann
  2. 1139p. - Łukasz Piwowar
  3. 1131p. - CC PL
  4. 1126p. - Łukasz Eckert
  5. 1118p. - Tomasz Bielak
  6. 1104p. - Michal Drewniak
  7. 1083p. - Marcin Putra
  8. 1078p. - rucin93
  9. 1071p. - rafalszastok
  10. 1054p. - Adrian Wieprzkowicz
  11. 1047p. - Piotr Aleksandrowicz
  12. 1037p. - Michał Telesz
  13. 1023p. - Mariusz Fornal
  14. 1017p. - Mikbac
  15. 1005p. - ssynowiec
Szczegóły i pełne wyniki

Motyw:

Akcja Pajacyk

Pajacyk od wielu lat dożywia dzieci. Pomóż klikając w zielony brzuszek na stronie. Dziękujemy! ♡

Oto polecana książka warta uwagi.
Pełną listę książek znajdziesz tutaj

Wprowadzenie do ITsec, tom 1 Wprowadzenie do ITsec, tom 2

Można już zamawiać dwa tomy książek o ITsec pt. "Wprowadzenie do bezpieczeństwa IT" - mamy dla Was kod: pasja (użyjcie go w koszyku), dzięki któremu uzyskamy aż 15% zniżki! Dziękujemy ekipie Sekuraka za fajny rabat dla naszej Społeczności!

...