Repository navigation
FR CSharp Events
Українська · Русский · English · Deutsch · Français · Italiano · Español · 繁體中文 · 日本語 · 한국어
event permet aux gestionnaires d'être signés via += et supprimés via -=. L'événement est déclenché par le type qui l'a déclaré. Un gestionnaire externe détient l'abonné, l'abonnement doit donc être résilié lorsqu'il n'est plus nécessaire.
Enregistrez cet exemple séparément dans Example.cs. Exécutez-le indépendamment des autres exemples de cette page.
Example.cs:
// PROJECT-EXAMPLE
var source = new Source();
source.Changed += () => System.Console.WriteLine("Changed");
source.Raise();
class Source { public event System.Action? Changed; public void Raise() => Changed?.Invoke(); }Résultat:
Changed
sealed class Progress
{
public event Action<int>? Changed;
public void Report(int value) => Changed?.Invoke(value);
}
var progress = new Progress();
Action<int> handler = value => UO.Print($"Progress={value}");
progress.Changed += handler;
progress.Report(1);
progress.Changed -= handler;sealed class Signal
{
public event EventHandler? Ready;
public void Raise() => Ready?.Invoke(this, EventArgs.Empty);
}
var signal = new Signal();
signal.Ready += (_, _) => UO.Print("Ready");
signal.Raise();Ces exemples décrivent des événements de leurs propres classes C#. Les événements du jeu sont fournis séparément par l'hôte API ; leurs noms, arguments et cycles de vie doivent correspondre à la documentation spécifique de l'événement.
Documentation officielle : Événements et gestionnaires - Microsoft Learn.
ClassicUO — Bad Newbie & C# Scripts IDE