KO CSharp Events - LIHACHTETAN/ClassicUO-Bad-Newbie-CSharp-Scripts-IDE GitHub Wiki

ะฃะบั€ะฐั—ะฝััŒะบะฐ ยท ะ ัƒััะบะธะน ยท English ยท Deutsch ยท Franรงais ยท Italiano ยท Espaรฑol ยท ็น้ซ”ไธญๆ–‡ ยท ๆ—ฅๆœฌ่ชž ยท ํ•œ๊ตญ์–ด

์ด๋ฒคํŠธ ๋ฐ ํ•ธ๋“ค๋Ÿฌ

์„ค๋ช…์„œ C# ยท ์˜ˆ์‹œ UO

event๋ฅผ ์‚ฌ์šฉํ•˜๋ฉด +=์„ ํ†ตํ•ด ํ•ธ๋“ค๋Ÿฌ๋ฅผ ์„œ๋ช…ํ•˜๊ณ  -=๋ฅผ ํ†ตํ•ด ์ œ๊ฑฐํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์ด๋ฒคํŠธ๋Š” ์ด๋ฅผ ์„ ์–ธํ•œ ํ˜•์‹์— ์˜ํ•ด ๋ฐœ์ƒ๋ฉ๋‹ˆ๋‹ค. ์™ธ๋ถ€ ์†Œ์œ  ํ•ธ๋“ค๋Ÿฌ๊ฐ€ ๊ตฌ๋…์ž๋ฅผ ๋ณด์œ ํ•˜๋ฏ€๋กœ ๊ตฌ๋…์ด ๋” ์ด์ƒ ํ•„์š”ํ•˜์ง€ ์•Š์œผ๋ฉด ๊ตฌ๋…์„ ์ข…๋ฃŒํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค.

๊ฐ„๋‹จํ•œ ์˜ˆ์ œ (Example.cs)

์ด ์˜ˆ์ œ๋ฅผ Example.cs๋กœ ๋”ฐ๋กœ ์ €์žฅํ•˜๊ณ  ์ด ํŽ˜์ด์ง€์˜ ๋‹ค๋ฅธ ์˜ˆ์ œ์™€ ๋…๋ฆฝ์ ์œผ๋กœ ์‹คํ–‰ํ•˜์„ธ์š”.

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

๊ฒฐ๊ณผ:

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

์ด ์˜ˆ๋Š” ์ž์ฒด C# ํด๋ž˜์Šค์˜ ์ด๋ฒคํŠธ๋ฅผ ์„ค๋ช…ํ•ฉ๋‹ˆ๋‹ค. ๊ฒŒ์ž„ ์ด๋ฒคํŠธ๋Š” API ํ˜ธ์ŠคํŠธ๊ฐ€ ๋ณ„๋„๋กœ ์ œ๊ณตํ•ฉ๋‹ˆ๋‹ค. ํ•ด๋‹น ์ด๋ฆ„, ์ธ์ˆ˜ ๋ฐ ์ˆ˜๋ช… ์ฃผ๊ธฐ๋Š” ํŠน์ • ์ด๋ฒคํŠธ ๋ฌธ์„œ์™€ ์ผ์น˜ํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค.

๊ณต์‹ ๋ฌธ์„œ: ์ด๋ฒคํŠธ ๋ฐ ์ฒ˜๋ฆฌ๊ธฐ - Microsoft Learn.

โš ๏ธ **GitHub.com Fallback** โš ๏ธ