TOC

This article has been localized into Russian by the community.

Классы:

Разделяемый (частичный) класс

Если вы работали с C#, или, возможно, даже с другим языком программирования, то привыкли к тому, что имя класса должно быть уникальным - т.е. не может быть двух классов с одинаковым именем внутри одного пространства имен. Однако, в какой-то момент, Microsoft решила изменить это, с введением частичных классов.

Когда вы определяете класс с помощью ключевого слова partial, вам или кому-либо другому разрешается ввести функциональные возможности класса с помощью другого класса, который также должен быть объявлен как partial. Это полезно в следующих ситуациях:

  • Когда у вас есть очень большой класс - вы можете сохранить его в нескольких файлах, чтобы облегчить работу с различными частями классов. Например, вы можете иметь все свойства в одном файле и все методы в другом файле, имея при этом только один класс.
  • При работе с конструктором, как в Visual Studio, например с WinForms, где весь автоматически сгенерированный код конструктора может храниться в одном файле, в то время как код хранится в другом файле.

Позвольте мне проиллюстрировать это примером. В моем проекте у меня обычный Programm.cs, представленный в консольном приложении. Кроме того, я добавил два файла: PartialClass1.cs и PartialClass2.цезий. Вот файлы и их содержимое:

PartialClass1.cs

using System;

namespace PartialClasses
{
    public partial class PartialClass
    {
public void HelloWorld()
{
    Console.WriteLine("Hello, world!");
}
    }
}

PartialClass2.cs

using System;

namespace PartialClasses
{
    public partial class PartialClass
    {
public void HelloUniverse()
{
    Console.WriteLine("Hello, universe!");
}
    }
}

Обратите внимание, что оба класса определены с помощью ключевого слова partial и имеют одинаковые имена. Также заметьте, что каждый из них определяет метод - HelloWorld () и HelloUniverse (). в нашей Programm.cs теперь мы можем использовать этот класс, как если бы он был определен только в одном месте, как и любой другой класс:

using System;

namespace PartialClasses
{
    class Program
    {
static void Main(string[] args)
{
    PartialClass pc = new PartialClass();
    pc.HelloWorld();
    pc.HelloUniverse();
}
    }
}

Резюме

С помощью разделяемых классов можно разделить классы на несколько файлов, либо потому, что определение класса очень большое, либо когда инструменты, с которыми вы работаете, приносят пользу, как с конструктором Visual Studio для WinForms.


This article has been fully translated into the following languages: Is your preferred language not on the list? Click here to help us translate this article into your language!