Neste artigo, vamos aprender sobre como e por que classes parciais e métodos parciais são implementados em C #.
Existem 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. Neste caso, podemos usar um recurso chamado Classe Parcial .
Introdução à aula parcial
Enquanto programamos 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 a partial
palavra - chave.
Exemplo 1:
Temos um projeto chamado as 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 denominado Record que atribui 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 possui 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 método principal 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 myRecord que está passando os valores dos parâmetros como 10 e 15 para hew respectivamente para o método definido em File1.cs
.
O método PrintRecord é chamado pelo objeto myRecord que é definido no File2.cs
.
Isso mostra que a partial
palavra - chave ajuda a combinar todos os atributos de uma classe definida em vários arquivos para funcionar como uma única classe.
Locais onde a partial
aula pode ser usada:
- Ao trabalhar em projetos maiores com mais de um desenvolvedor, ajuda os desenvolvedores a trabalhar na mesma classe simultaneamente.
- Os códigos podem ser adicionados ou modificados à classe sem recriar os arquivos de origem que são gerados automaticamente pelo IDE (isto é, Visual Studio).
Coisas para lembrar sobre a aula parcial
A 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 no momento da 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 qualquer parte for declarada abstrata, todo o tipo é considerado abstrato.
- Se qualquer parte for declarada selada, o tipo inteiro será considerado selado.
- Se alguma parte declara um tipo base, então o tipo inteiro herda essa classe.
- Qualquer membro da 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
Métodos de introdução a 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 removidos no momento da compilação.
Exemplo 2:
Vamos dar um exemplo como uma classe parcial Car
definida na file1.cs
qual possui 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 as file2.cs
que possui 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 em
file1.cs
. - A implementação como em
file2.cs
.
Eles podem estar em partes separadas da aula parcial, ou na mesma parte.
Coisas para lembrar sobre o Método Parcial
partial
palavra-chave.- tipo de retorno
void
. - implicitamente
private
. - e não pode ser
virtual
.