Repository navigation
CSharp Attributes Reflection
Українська · Русский · English · Deutsch · Français · Italiano · Español · 繁體中文 · 日本語 · 한국어
Атрибут зберігає метадані оголошення; він не обов'язково виконує дію сам. Reflection читає інформацію про типи та члени під час виконання. nameof повертає ім'я елемента, typeof — об'єкт Type. dynamic відкладає зв'язування операції до запуску.
Збережіть цей приклад окремо як 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}");Reflection та dynamic не дають доступу до ігрових даних, яких клієнт не отримав. При виклику невідомого члена через dynamickу помилку виникає під час виконання; Традиційний типізований код найчастіше виявляє її до запуску.
Офіційна документація: Атрибути, reflection та dynamic - Microsoft Learn.
ClassicUO — Bad Newbie & C# Scripts IDE