Publicado em

partial em C#

Partilhar:

Introdução

Ao trabalhar em projetos grandes ou colaborativos em C#, muitas vezes encontramos a necessidade de dividir a implementação de uma classe ou método em vários ficheiros para melhor organização ou colaboração. Aqui é onde entra o modificador partial.

O que é o modificador partial?

O modificador partial em C# é usado para dividir a definição de uma classe, struct ou interface em vários ficheiros. Cada ficheiro contém uma secção da definição da classe, e todas as partes são combinadas quando a aplicação é compilada.

Vantagens do partial

  1. Organização: Permite uma melhor organização do código, especialmente útil em classes muito extensas.
  2. Trabalho em Equipa: Facilita o trabalho colaborativo, pois diferentes membros da equipa podem trabalhar em diferentes partes da mesma classe simultaneamente.
  3. Separação de Código Gerado e Código Manual: Muitas vezes, em aplicações que utilizam designers gráficos (como Windows Forms ou WPF), o código é gerado automaticamente. Com partial, podemos separar o código gerado automaticamente do código escrito manualmente.
  4. Flexibilidade: Permite uma maior flexibilidade ao estruturar o código, possibilitando uma organização mais lógica.

Limitações

  • Todos os ficheiros que contêm uma parte da classe partial devem ser compilados juntos.
  • Se algum membro da classe é declarado como private, ele permanecerá privado àquela parte específica da classe. Os outros ficheiros partial da mesma classe não terão acesso a ele.
  • Não se pode definir modificadores de acesso para métodos partial.

Exemplo Prático

O exemplo abaixo demonstra a utilização do partial em duas partes de uma classe Pessoa:

using System;

namespace Base {
  class Partial {
    public void Run() {
      var pessoa = new Pessoa();
      pessoa.Informacao();

      /*
        Nome: Nelson Silva
        Idade: 28
      */
    }
  }

  partial class Pessoa {
    private string primeiroNome = "Nelson";
    partial void _Informacao();

    public void Informacao() {
      _Informacao();
    }
  }

  partial class Pessoa {
    private string ultimoNome = "Silva";
    private int idade = 28;

    partial void _Informacao() {
      Console.WriteLine($"Nome: {primeiroNome} {ultimoNome}");
      Console.WriteLine($"Idade: {idade}");
    }
  }
}

Conclusão

O modificador partial é uma ferramenta valiosa em C#, oferecendo uma maneira flexível de organizar e estruturar o código em projetos maiores ou ao colaborar em equipa. Esperamos que este artigo tenha esclarecido como e quando usar este modificador no seu código.

Happy coding!