Skip to content

ES CSharp Events

Codex edited this page Oct 11, 2026 · 2 revisions

Українська · Русский · English · Deutsch · Français · Italiano · Español · 繁體中文 · 日本語 · 한국어

Eventos y controladores

Manual C# · Ejemplos UO

event permite firmar controladores mediante += y eliminarlos mediante -=. El evento es planteado por el tipo que lo declaró. Un controlador de propiedad externa retiene al suscriptor, por lo que la suscripción debe cancelarse cuando ya no sea necesaria.

Ejemplo sencillo (Example.cs)

Guarde este ejemplo por separado como Example.cs. Ejecútelo independientemente de los demás ejemplos de esta página.

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(); }

Resultado:

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();

Estos ejemplos describen eventos de sus propias clases C#. Los eventos del juego los proporciona por separado el anfitrión API; sus nombres, argumentos y ciclos de vida deben coincidir con la documentación del evento específico.

Documentación oficial: Eventos y controladores - Microsoft Learn.

Clone this wiki locally