This article has been localized into Czech by the community.
Částečné třídy (Partial Classes)
Pokud jste pracovali s C# nebo možná i s jiným programovacím jazykem, jste zvyklí na to, že název třídy musí být jedinečný - nemůže existovat dvě třídy se stejným názvem, pokud nejsou v různých jmenných prostorech. Nicméně v určitém okamžiku se Microsoft rozhodl toto změnit s uvedením něčeho, co se nazývá částečné třídy (Partial Class).
Když definujete svou třídu s klíčovým slovem partial, vy nebo někdo jiný můžete rozšířit funkcionalitu vaší třídy další třídou, která také musí být deklarována jako částečná. To je užitečné v následujících situacích:
- Když máte velmi velkou třídu - můžete ji potom udržovat ve více souborech, aby bylo snazší pracovat s různými částmi třídy. Například můžete mít všechny vlastnosti v jednom souboru a všechny metody v jiném souboru, zatímco stále máte jen jednu třídu.
- Když pracujete s návrhářem, jako je ten ve Visual Studio - například s WinForms, kde veškerý automaticky generovaný kód návrháře může být uchován v jednom souboru, zatímco váš kód je uchován v jiném souboru.
Dovolte mi to ilustrovat na příkladu. V mém projektu mám obvyklý Program.cs, který se nachází v konzolové aplikaci. Kromě toho jsem přidal dva soubory: PartialClass1.cs a PartialClass2.cs. Zde jsou soubory a jejich obsah:
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!");
}
}
}
Všimněte si, že obě třídy jsou definovány s klíčovým slovem partial a mají stejná jména. Také si všimněte, že každá z nich definuje metodu - HelloWorld() a HelloUniverse(). V našem Program.cs teď můžeme tuto třídu používat, jako by byla definována pouze na jednom místě, stejně jako jakoukoli jinou třídu:
using System;
namespace PartialClasses
{
class Program
{
static void Main(string[] args)
{
PartialClass pc = new PartialClass();
pc.HelloWorld();
pc.HelloUniverse();
}
}
}
Shrnutí
S částečnými třídami můžete rozdělit své třídy do více souborů, buď protože definice třídy je velmi velká, nebo když z toho mají prospěch nástroje, se kterými pracujete, jako je návrhář Visual Studio pro WinForms.