Repository navigation
KO CSharp Keyword remove
Codex edited this page Oct 11, 2026
·
2 revisions
Українська · Русский · English · Deutsch · Français · Italiano · Español · 繁體中文 · 日本語 · 한국어
구독 취소를 처리하는 이벤트 핸들러입니다. 값에는 처리기 대리자가 포함되어 있습니다.
이 예제를 Example.cs로 따로 저장하고 이 페이지의 다른 예제와 독립적으로 실행하세요.
Example.cs:
// PROJECT-EXAMPLE
var source = new Source();
System.Action handler = () => { };
source.Changed += handler;
source.Changed -= handler;
class Source
{
public event System.Action Changed { add { System.Console.WriteLine("Add"); } remove { System.Console.WriteLine("Remove"); } }
}결과:
Add
Remove
event Action Changed { add { ... } remove { ... value ... } }using System;
using System.Collections.Generic;
using System.Linq;
using System.Threading;
using System.Threading.Tasks;
using System.IO;
using System.Runtime.InteropServices;
using System.Runtime.CompilerServices;
public static class Program
{
public static async Task Main(string[] args)
{
Notifier source = new();
Action handler = () => Console.WriteLine("Changed");
source.Changed += handler; source.Publish(); source.Changed -= handler; source.Publish();
}
}
public class Notifier { private Action? handlers; public event Action Changed { add { handlers += value; } remove { handlers -= value; } } public void Publish() { handlers?.Invoke(); } }using System;
using System.Collections.Generic;
using System.Linq;
using System.Threading;
using System.Threading.Tasks;
using System.IO;
using System.Runtime.InteropServices;
using System.Runtime.CompilerServices;
public static class Program
{
public static async Task Main(string[] args)
{
Signal signal = new();
Action handler = () => Console.WriteLine("Signal");
signal.Fired += handler; signal.Fire(); signal.Fired -= handler;
}
}
public class Signal { private readonly List<Action> handlers = []; public event Action Fired { add { handlers.Add(value); } remove { handlers.Remove(value); } } public void Fire() { foreach (Action handler in handlers.ToArray()) handler(); } }공식 출처: Microsoft 학습.
ClassicUO — Bad Newbie & C# Scripts IDE