Skip to content

RU CSharp Members

Codex edited this page Oct 11, 2026 · 2 revisions

Українська · Русский · English · Deutsch · Français · Italiano · Español · 繁體中文 · 日本語 · 한국어

Поля, свойства, индексаторы и модификаторы

Руководство C# · Примеры UO

public, private, protected, internal, protected internal и private protected задают доступность. static относится к типу, readonly ограничивает запись поля, const задаёт константу. Свойство использует get, set или init; индексатор предоставляет доступ через [].

Простой пример (Example.cs)

Сохраните этот пример отдельно как Example.cs. Запускайте его независимо от остальных примеров страницы.

Example.cs:

// PROJECT-EXAMPLE
var item = new Item();
item.Count = 7;
System.Console.WriteLine(item.Count);
class Item { public int Count { get; set; } }

Результат:

7
sealed class Config
{
    private int delay = 100;
    public string Name { get; init; } = "default";
    public int Delay
    {
        get => delay;
        set => delay = Math.Clamp(value, 0, 5000);
    }
}

var config = new Config { Name = "Gather", Delay = 150 };
await WaitAsync(config.Delay);
UO.Print(config.Name);
sealed class Counters
{
    private readonly Dictionary<string, int> values = new();
    public int this[string name]
    {
        get => values.TryGetValue(name, out int value) ? value : 0;
        set => values[name] = value;
    }
}

var counters = new Counters();
counters["items"] = 3;
UO.Print(counters["items"].ToString());

required требует заполнить член при создании объекта. Инициализаторы объектов и коллекций не заменяют проверки допустимых игровых значений. Частичные типы partial объединяют несколько объявлений при компиляции одного проекта.

Официальная документация: Поля, свойства, индексаторы и модификаторы — Microsoft Learn.

Clone this wiki locally