Repository navigation
CSharp Namespaces Extensions
Українська · Русский · English · Deutsch · Français · Italiano · Español · 繁體中文 · 日本語 · 한국어
namespace групує типи та допомагає уникнути збігів імен. using підключає простір імен, або задає інше ім'я типу, using static підключає статичні члени. global using діє у всіх файлах звичайного проекту.
Збережіть цей приклад окремо як 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.
ClassicUO — Bad Newbie & C# Scripts IDE