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

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

์ง€์‹œ๋ฌธ, ์–ธ์–ด ๋ฒ„์ „ ๋ฐ ์ปดํŒŒ์ผ ์˜ต์…˜

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

์ง€์‹œ๋ฌธ์€ ์ค„ ์‹œ์ž‘ ๋ถ€๋ถ„์—์„œ #๋กœ ์‹œ์ž‘ํ•ฉ๋‹ˆ๋‹ค: #if/#elif/#else/#endif, #define, #undef, #region, #endregion, #warning, #error, #line, #pragma, #nullable. ์ปดํŒŒ์ผ์ด๋‚˜ ์ง„๋‹จ์„ ์ œ์–ดํ•ฉ๋‹ˆ๋‹ค. #region ํŽธ์ง‘๊ธฐ๋ฅผ ๊ตฌ์„ฑํ•˜์ง€๋งŒ ๋ฒ”์œ„๋ฅผ ์ƒ์„ฑํ•˜์ง€๋Š” ์•Š์Šต๋‹ˆ๋‹ค.

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

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

Example.cs:

// PROJECT-EXAMPLE
#define REPORT
#if REPORT
System.Console.WriteLine("Enabled");
#else
System.Console.WriteLine("Disabled");
#endif

๊ฒฐ๊ณผ:

Enabled
#nullable enable
string? name = null;
UO.Print(name ?? "unknown");
#if DEBUG
UO.Print("Debug configuration");
#else
UO.Print("Regular configuration");
#endif

์ผ๋ฐ˜์ ์ธ ํ”„๋กœ์ ํŠธ๋Š” TargetFramework, LangVersion, Nullable, AllowUnsafeBlocks ๋ฐ ๊ธฐํƒ€ ์†์„ฑ์„ .csproj์— ์ •์˜ํ•ฉ๋‹ˆ๋‹ค. ๊ตฌ๋ฌธ์€ ์ปดํŒŒ์ผ๋Ÿฌ์— ์˜ํ•ด ๊ฒฐ์ •๋˜๋ฉฐ ์‚ฌ์šฉ ๊ฐ€๋Šฅํ•œ API๋„ ๋Œ€์ƒ ํ”Œ๋žซํผ ๋ฐ ์ข…์†์„ฑ์— ๋”ฐ๋ผ ๊ฒฐ์ •๋ฉ๋‹ˆ๋‹ค.

C#์˜ ์ตœ์‹  ๊ธฐ๋Šฅ ์ค‘์—์„œ ์›์‹œ ๋ฌธ์ž์—ด, ์ปฌ๋ ‰์…˜ ํ‘œํ˜„์‹, ๊ธฐ๋ณธ ์ƒ์„ฑ์ž, ๋ชฉ๋ก ํŒจํ„ด, required, ๊ณ ๊ธ‰ ์ฐธ์กฐ ๊ธฐ๋Šฅ, field์„ ์‚ฌ์šฉํ•œ ํ™•์žฅ ๋ฐ ์†์„ฑ์ด ์ค‘์š”ํ•ฉ๋‹ˆ๋‹ค. ํŠน์ • ๋ฒ„์ „์˜ ์ •ํ™•ํ•œ ์šฉ์–ด๋ฅผ ๋ณด๋ ค๋ฉด ํ•ด๋‹น ์–ธ์–ด์˜ ๊ณต์‹ ์—ญ์‚ฌ๋ฅผ ์‚ฌ์šฉํ•˜์„ธ์š”. ๋ฏธ๋ฆฌ๋ณด๊ธฐ ๊ธฐ๋Šฅ์€ ๋ณ„๋„์˜ ํ”„๋กœ์ ํŠธ ๋งค๊ฐœ๋ณ€์ˆ˜๋กœ ํ™œ์„ฑํ™”๋ฉ๋‹ˆ๋‹ค.

๊ณต์‹ ๋ฌธ์„œ: ์ง€์‹œ๋ฌธ, ์–ธ์–ด ๋ฒ„์ „ ๋ฐ ์ปดํŒŒ์ผ ์˜ต์…˜ - Microsoft Learn.