Skip to content

CSharp Keyword partial type

Codex edited this page Oct 11, 2026 · 2 revisions

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

C#: partial — частковий тип

Довідник C# · Практичне керівництво

partial об’єднує кілька оголошень одного типу під час компіляції. Частини мають належати до тієї самої збірки й простору імен та містити узгоджене ім’я типу. Так можна розділити дані та поведінку між вихідними файлами; це не кілька окремих типів.

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

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

Example.cs:

// PROJECT-EXAMPLE
System.Console.WriteLine(new Item().Name);
partial class Item { public string Name => GetName(); }
partial class Item { private string GetName() => "Ore"; }

Результат:

Ore

Синтаксис

public partial class Label { }
public partial struct Rectangle { }

Клас із даними та форматуванням у різних файлах

Файл Example.csproj:

<Project Sdk="Microsoft.NET.Sdk">
  <PropertyGroup>
    <OutputType>Exe</OutputType>
    <TargetFramework>net10.0</TargetFramework>
    <LangVersion>14.0</LangVersion>
    <Nullable>enable</Nullable>
    
  </PropertyGroup>

</Project>

Файл Program.cs:

using System;
internal static class Program
{
    public static void Main()
    {
        var label = new Label { Name = "Sensor", Number = 12 };
        Console.WriteLine(label.Format());
    }
}

Файл Label.Data.cs:

public partial class Label
{
    public string Name { get; init; } = "";
    public int Number { get; init; }
}

Файл Label.Display.cs:

public partial class Label
{
    public string Format() => $"{Name} #{Number}";
}

Результат:

Sensor #12

Часткова структура з розмірами та обчисленням площі

Файл Example.csproj:

<Project Sdk="Microsoft.NET.Sdk">
  <PropertyGroup>
    <OutputType>Exe</OutputType>
    <TargetFramework>net10.0</TargetFramework>
    <LangVersion>14.0</LangVersion>
    <Nullable>enable</Nullable>
    
  </PropertyGroup>

</Project>

Файл Program.cs:

using System;
internal static class Program
{
    public static void Main()
    {
        var size = new Rectangle { Width = 8, Height = 6 };
        Console.WriteLine(size.Area);
    }
}

Файл Rectangle.Size.cs:

public partial struct Rectangle
{
    public int Width { get; init; }
    public int Height { get; init; }
}

Файл Rectangle.Area.cs:

public partial struct Rectangle
{
    public int Area => Width * Height;
}

Результат:

48

Офіційне джерело: Microsoft Learn.

Clone this wiki locally