C# Classe Parcial e Método Parcial
Classe Parcial C# e Método Parcial
Neste artigo, aprenderemos como e por que classes parciais e métodos parciais devem ser implementados em C# .
Há muitas situações em que você pode precisar dividir uma definição de classe, como ao trabalhar em projetos de grande escala, vários desenvolvedores e programadores podem precisar trabalhar na mesma classe ao mesmo tempo. Nesse caso, podemos usar um recurso chamado Classe parcial .
Introdução à aula parcial
Ao programar em C# (ou OOP), podemos dividir a definição de uma classe em dois ou mais arquivos de origem. Os arquivos de origem contêm uma seção da definição de classe e todas as partes são combinadas quando o aplicativo é compilado. Para dividir uma definição de classe, precisamos usar o
partial
palavra-chave. Exemplo 1:
Temos um projeto chamado
HeightWeightInfo
que mostra altura e peso. Temos um arquivo chamado
File1.cs
com uma classe parcial chamada Record . Tem duas variáveis inteiras h &w e um método/construtor chamado Record que está atribuindo os valores de h &w .
namespace HeightWeightInfo
{
class File1
{
}
public partial class Record
{
private int h;
private int w;
public Record(int h, int w)
{
this.h = h;
this.w = w;
}
}
}
Aqui está outro arquivo chamado File2.cs com a mesma classe parcial Record que tem apenas o método PrintRecord . Este método exibirá os valores de h &w .
namespace HeightWeightInfo
{
class File2
{
}
public partial class Record
{
public void PrintRecord()
{
Console.WriteLine("Height:"+ h);
Console.WriteLine("Weight:"+ w);
}
}
}
Aqui agora podemos ver o main método do projeto:
namespace HeightWeightInfo
{
class Program
{
static void Main(string[] args)
{
Record myRecord = new Record(10, 15);
myRecord.PrintRecord();
Console.ReadLine();
}
}
}
Aqui temos o objeto da classe Record como meuRegistro que está passando os valores de parâmetro como 10 e 15 para h e w respectivamente ao método definido em
File1.cs
. O método PrintRecord é chamado pelo objeto myRecord que é definido no
File2.cs
. Isso mostra que o
partial
palavra-chave ajuda a combinar todos os atributos de uma classe definida em vários arquivos para funcionar como uma única classe. Lugares onde
partial
classe pode ser usada:- Ao trabalhar em projetos maiores com mais de um desenvolvedor, ajuda os desenvolvedores a trabalhar na mesma turma simultaneamente.
- Os códigos podem ser adicionados ou modificados à classe sem recriar os arquivos de origem que são gerados automaticamente pelo IDE (ou seja, Visual Studio).
Aspectos a serem lembrados sobre a aula parcial
O
partial
palavra-chave especifica que outras partes da classe podem ser definidas no namespace. É obrigatório usar a palavra-chave parcial se estivermos tentando tornar uma classe parcial. Todas as partes da classe devem estar no mesmo namespace e disponíveis em tempo de compilação para formar o tipo final. Todas as partes devem ter o mesmo modificador de acesso, ou seja, privado, público ou assim por diante. - Se alguma parte for declarada abstrata, todo o tipo será considerado abstrato.
- Se alguma parte for declarada lacrada, todo o tipo será considerado lacrado.
- Se alguma parte declarar um tipo base, o tipo inteiro herdará essa classe.
- Qualquer membro de classe declarado em uma definição parcial está disponível para todas as outras partes.
- Todas as partes de uma classe parcial devem estar no mesmo namespace.
**Observação: O
partial
modificador não está disponível em declarações de delegado ou enumeração Introdução aos métodos parciais
Uma classe parcial pode conter um método parcial. Uma parte da classe contém a assinatura do método. Uma implementação opcional pode ser definida na mesma parte ou em outra parte. Se a implementação não for fornecida, o método e todas as chamadas serão removidas em tempo de compilação.
Exemplo 2:
Vamos dar um exemplo como uma classe parcial
Car
definido em file1.cs
que tem três métodos InitializeCar (), BuildRim () e BuildWheels (). Entre esses métodos, InitializeCar é definido como partial
.
public partial class Car
{
partial void InitializeCar();
public void BuildRim() { }
public void BuildWheels() { }
}
E temos outro arquivo chamado
file2.cs
que tem dois métodos BuildEngine e InitializeCar . O método InitializeCar é um método parcial que também é definido em file1.cs
.
public partial class Car
{
public void BuildEngine() { }
partial void InitializeCar()
{
string str = "Car";
}
}
Uma declaração de método parcial consiste em duas partes:
- A definição como em
file1.cs
. - A implementação como em
file2.cs
.
Eles podem estar em partes separadas da classe parcial, ou na mesma parte.
Aspectos a serem lembrados sobre o Método Parcial
partial
palavra-chave.- tipo de retorno
void
. - implicitamente
private
. - e não pode ser
virtual
.
Linguagem C