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

Π£ΠΊΡ€Π°Ρ—Π½ΡΡŒΠΊΠ° Β· Русский Β· English Β· Deutsch Β· FranΓ§ais Β· Italiano Β· EspaΓ±ol Β· 繁體中文 Β· ζ—₯本θͺž Β· ν•œκ΅­μ–΄

속성, λ°˜μ‚¬ 및 동적

μ„€λͺ…μ„œ C# Β· μ˜ˆμ‹œ UO

속성은 κ΄‘κ³  메타데이터λ₯Ό μ €μž₯ν•©λ‹ˆλ‹€. λ°˜λ“œμ‹œ μž‘μ—… 자체λ₯Ό μˆ˜ν–‰ν•˜μ§€λŠ” μ•ŠμŠ΅λ‹ˆλ‹€. λ¦¬ν”Œλ ‰μ…˜μ€ λŸ°νƒ€μž„μ— ν˜•μ‹ 및 멀버에 λŒ€ν•œ 정보λ₯Ό μ½μŠ΅λ‹ˆλ‹€. nameofλŠ” μš”μ†Œμ˜ 이름을 λ°˜ν™˜ν•˜κ³ , typeof은 객체 Typeλ₯Ό λ°˜ν™˜ν•©λ‹ˆλ‹€. dynamic 싀행될 λ•ŒκΉŒμ§€ 바인딩 μž‘μ—…μ„ μ—°κΈ°ν•©λ‹ˆλ‹€.

κ°„λ‹¨ν•œ 예제 (Example.cs)

이 예제λ₯Ό Example.cs둜 λ”°λ‘œ μ €μž₯ν•˜κ³  이 νŽ˜μ΄μ§€μ˜ λ‹€λ₯Έ μ˜ˆμ œμ™€ λ…λ¦½μ μœΌλ‘œ μ‹€ν–‰ν•˜μ„Έμš”.

Example.cs:

// PROJECT-EXAMPLE
System.Type type = typeof(string);
System.Console.WriteLine(type.Name);
System.Console.WriteLine(type.IsValueType);

κ²°κ³Ό:

String
False
sealed class Example
{
    public string Name { get; set; } = "sample";
}
Type type = typeof(Example);
foreach (var property in type.GetProperties())
{
    UO.Print(property.Name);
}
dynamic value = new { Name = "Ore", Amount = 3 };
UO.Print($"{value.Name}: {value.Amount}");

λ¦¬ν”Œλ ‰μ…˜ 및 동적은 ν΄λΌμ΄μ–ΈνŠΈκ°€ μˆ˜μ‹ ν•˜μ§€ μ•Šμ€ κ²Œμž„ 데이터에 λŒ€ν•œ μ•‘μ„ΈμŠ€λ₯Ό μ œκ³΅ν•˜μ§€ μ•ŠμŠ΅λ‹ˆλ‹€. 동적을 톡해 μ•Œ 수 μ—†λŠ” 멀버λ₯Ό ν˜ΈμΆœν•˜λ©΄ λŸ°νƒ€μž„μ— 였λ₯˜κ°€ λ°œμƒν•©λ‹ˆλ‹€. 일반 μœ ν˜•μ˜ μ½”λ“œλŠ” μ‹€ν–‰ 전에 이λ₯Ό κ°μ§€ν•˜λŠ” κ²½μš°κ°€ λ§ŽμŠ΅λ‹ˆλ‹€.

곡식 λ¬Έμ„œ: 속성, λ¦¬ν”Œλ ‰μ…˜ 및 동적 - Microsoft Learn.