KO CSharp Directives - LIHACHTETAN/ClassicUO-Bad-Newbie-CSharp-Scripts-IDE GitHub Wiki
ะฃะบัะฐัะฝััะบะฐ ยท ะ ัััะบะธะน ยท English ยท Deutsch ยท Franรงais ยท Italiano ยท Espaรฑol ยท ็น้ซไธญๆ ยท ๆฅๆฌ่ช ยท ํ๊ตญ์ด
์ง์๋ฌธ, ์ธ์ด ๋ฒ์ ๋ฐ ์ปดํ์ผ ์ต์
์ง์๋ฌธ์ ์ค ์์ ๋ถ๋ถ์์ #๋ก ์์ํฉ๋๋ค: #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.