Skip to content

CSharp Namespaces Extensions

Codex edited this page Oct 11, 2026 · 2 revisions

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

Простір імен, using та методи розширення

Посібник C# · Приклади UO

namespace групує типи та допомагає уникнути збігів імен. using підключає простір імен, або задає інше ім'я типу, using static підключає статичні члени. global using діє у всіх файлах звичайного проекту.

Простий приклад (Example.cs)

Збережіть цей приклад окремо як Example.cs. Запускайте його незалежно від інших прикладів на сторінці.

Example.cs:

// PROJECT-EXAMPLE
using System;
Console.WriteLine("ore".Twice());
static class TextTools { public static string Twice(this string value) => value + value; }

Результат:

oreore
// PROJECT-EXAMPLE
using System;
using Number = System.Int32;
using static System.Math;

namespace UserTools;

public static class Calculation
{
    public static Number Clamp(Number value) => Max(0, Min(100, value));
}

Метод розширення оголошують у відповідному статичному типі звичайного .cs-проекту. Він дозволяє викликати статичний метод член об'єкта без зміни оголошення вихідного типу. Код розширення може змінювати стан переданого об'єкта, якщо його API допускає таку зміну. У .csx можна використовувати вже підключені розширення, наприклад LINQ; namespace-оголошення та розширення бібліотек оформлюйте у звичайних вихідниках.

// PROJECT-EXAMPLE
using System;

namespace UserTools;

public static class NumberExtensions
{
    public static bool IsPositive(this int value) => value > 0;
}

public static class Example
{
    public static bool Run() => (3).IsPositive();
}

Офіційна документація: Простори імен, using та методи розширення – Microsoft Learn.

Clone this wiki locally