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.