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

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

C#-์Šคํฌ๋ฆฝํŠธ ์—”์ง„

์†Œ์Šค ์ฝ”๋“œ๋Š” Roslyn์„ ์ปดํŒŒ์ผํ•ฉ๋‹ˆ๋‹ค. ์ปดํŒŒ์ผ๋œ ์Šคํฌ๋ฆฝํŠธ๋Š” ์ผ๋ฐ˜์ ์ธ .NET 10/CoreCLR์„ ์‹คํ–‰ํ•ฉ๋‹ˆ๋‹ค.

์ •์  ํ•„๋“œ๋Š” ํ˜•์‹์— ์†ํ•˜๋ฉฐ ํ•œ ๋ฒˆ์˜ ์‹คํ–‰ ์•ˆ์—์„œ ํ•ด๋‹น ํ˜•์‹์˜ ์ธ์Šคํ„ด์Šค๊ฐ€ ๊ณต์œ ํ•ฉ๋‹ˆ๋‹ค. .csx, .cs, .csproj์˜ ๊ฐ ์‹คํ–‰์€ ์‚ฌ์šฉ์ž ์ •์˜ ํ˜•์‹๊ณผ ์ •์  ํ•„๋“œ๋ฅผ ๊ฒฉ๋ฆฌํ•˜๋ฏ€๋กœ ์ปดํŒŒ์ผ ๊ฒฐ๊ณผ๋ฅผ ์บ์‹œํ•ด๋„ ํ•„๋“œ๊ฐ€ ๋‹ค์Œ ์‹คํ–‰์— ์œ ์ง€๋˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค. ๊ณต์œ  .NET ๋ฐ ํ˜ธ์ŠคํŠธ ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ์˜ ์ •์  ๋ฐ์ดํ„ฐ๋Š” ๊ณ„์† ๊ณต์œ ๋˜๋ฏ€๋กœ ํŠน์ • ์บ๋ฆญํ„ฐ์˜ ๋ฐ์ดํ„ฐ๋ฅผ ์ €์žฅํ•˜์ง€ ๋งˆ์„ธ์š”.

์‹คํ–‰ ์ทจ์†Œ ์ง€์ ์€ ์ œ์–ด ๋ฌธ๊ณผ ๋ฃจํ”„์— ์ถ”๊ฐ€๋ฉ๋‹ˆ๋‹ค. finally๋Š” ๋ฆฌ์†Œ์Šค ํ•ด์ œ๋ฅผ ์ €์žฅํ•ฉ๋‹ˆ๋‹ค. ์ทจ์†Œ๋ฅผ ์ง€์›ํ•˜์ง€ ์•Š๋Š” ์ฐจ๋‹จ๋œ ์ œ3์ž ํ†ตํ™”๋Š” ์ž๋™์œผ๋กœ ์ทจ์†Œ ๊ฐ€๋Šฅํ•ด์ง€์ง€ ์•Š์Šต๋‹ˆ๋‹ค. ์˜ค๋ž˜ ๊ธฐ๋‹ค๋ฆฌ๋ ค๋ฉด WaitAsync๋ฅผ ์‚ฌ์šฉํ•˜๊ณ , ๊ธฐ๋ณธ ๋น„๋™๊ธฐ ์ž‘์—…์—๋Š” Cancellation๋ฅผ ์ „๋‹ฌํ•˜์„ธ์š”.

๋™์ ์œผ๋กœ ์ปดํŒŒ์ผ๋œ ์Šคํฌ๋ฆฝํŠธ์—๋Š” ์ผ๋ฐ˜ .NET ์ฝ”๋“œ ๊ธฐ๋Šฅ์ด ์žˆ์Šต๋‹ˆ๋‹ค. ํŒŒ์ผ ๋ฐ ๊ฒŒ์ž„ API ๊ถŒํ•œ์€ ๋กœ์ปฌ ํ”„๋กœ์„ธ์Šค์™€ ์„ ํƒํ•œ ์„ธ์…˜์— ๋”ฐ๋ผ ๊ฒฐ์ •๋ฉ๋‹ˆ๋‹ค.

์ทจ์†Œ ์š”์ฒญ์€ ํ˜‘์กฐ์ ์ž…๋‹ˆ๋‹ค. Task.Delay Cancellation ์ „์†ก ์—†์ด, ์ทจ์†Œ ์ง€์› ์—†์ด ํƒ€์‚ฌ ์ž‘์—… ๋ฐ ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ ํ˜ธ์ถœ ๋Œ€๊ธฐ๋Š” Stop๋ฅผ ๋ˆ„๋ฅธ ํ›„ ๊ณ„์†ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์ทจ์†Œ ์š”์ฒญ์ด ์ด๋ฃจ์–ด์ง€๋ฉด ํ•ด๋‹น ์‹คํ–‰์— ๋Œ€ํ•œ ์ถ”๊ฐ€ ๊ฒŒ์ž„ ํ™œ๋™์ด ๊ธˆ์ง€๋ฉ๋‹ˆ๋‹ค. ์ด๋Š” .NET ์ฝ”๋“œ๊ฐ€ ์ฆ‰์‹œ ์ข…๋ฃŒ๋˜๋„๋ก ๊ฐ•์ œํ•˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค.