Classe parcial C # e método parcial (com exemplos)

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 partialpalavra - chave.

Exemplo 1:

Temos um projeto chamado as HeightWeightInfoque mostra altura e peso.

Temos um arquivo chamado File1.cscom 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 partialpalavra - chave ajuda a combinar todos os atributos de uma classe definida em vários arquivos para funcionar como uma única classe.

Locais onde a partialaula pode ser usada:

  1. Ao trabalhar em projetos maiores com mais de um desenvolvedor, ajuda os desenvolvedores a trabalhar na mesma classe simultaneamente.
  2. 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 partialpalavra-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 partialmodificador 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 Cardefinida na file1.csqual 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.csque 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:

  1. A definição em file1.cs.
  2. 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.

Artigos interessantes...