Tipos parciais e arquivos
Divida um tipo entre arquivos com classes/structs parciais e use métodos parciais para inserir lógica personalizada no código gerado.
Tipos parciais e arquivos é uma aula grátis de C# Academy no CoddyKit. Esta é a aula 3 de 3. Você pode ler a aula completa abaixo gratuitamente — depois pratica ao vivo no navegador com um editor de código integrado e um tutor de IA 24/7. Faz parte do caminho de aprendizado de C# Academy, e seu progresso é sincronizado entre a web e o app CoddyKit. O curso de C# Academy inclui 3 aulas no total.
Visão geral de tipos parciais
Objetivo: Divida tipos grandes de forma organizada.
- partial classe/estrutura: mesmo espaço de nomes e nome
- Geralmente distribuídos em vários arquivos
- métodos partial: pontos de extensão opcionais dentro de tipos parciais
Partes de uma classe partial
Uma classe partial pode ser declarada em várias partes. O compilador as combina em um único tipo.
using System;
namespace Demo
{
// Part 1: data
public partial class Person
{
public string Name { get; private set; }
public Person(string name) { Name = name; }
}
// Part 2: behavior
public partial class Person
{
public string Greet() { return "Hi " + Name; }
}
}
public class Program
{
public static void Main(string[] args)
{
Demo.Person p = new Demo.Person("Ada");
Console.WriteLine(p.Greet());
}
}
Métodos partial
Métodos partial são pontos de extensão em tempo de compilação: se não forem implementados, a chamada será removida. No C# 6, eles devem ser void e privados.
using System;
namespace Demo
{
public partial class Processor
{
// Partial method: implicitly private, must return void in C# 6
partial void OnProcessed(string item);
public void Run(string item)
{
// do work...
OnProcessed(item); // call hook (removed by compiler if not implemented)
}
}
public partial class Processor
{
// Implementation lives in another part (often another file)
partial void OnProcessed(string item)
{
Console.WriteLine("Processed: " + item);
}
}
}
public class Program
{
public static void Main(string[] args)
{
Demo.Processor p = new Demo.Processor();
p.Run("report");
}
}
Quando usar partial
Casos de uso:
- Código de designer ou gerado em um arquivo; suas edições seguras em outro.
- Tipos grandes divididos por recurso: dados e comportamento.
- Pontos de extensão opcionais por meio de métodos partial.
Estrutura partial
Você também pode dividir estruturas com partial; o resultado é um único tipo de estrutura em tempo de compilação.
using System;
namespace Demo
{
public partial struct Pair
{
public int A;
}
public partial struct Pair
{
public int B;
public int Sum() { return A + B; }
}
}
public class Program
{
public static void Main(string[] args)
{
Demo.Pair p = new Demo.Pair();
p.A = 2; p.B = 3;
Console.WriteLine("Sum = " + p.Sum());
}
}
Regras e dicas para partial
Dicas:
- Todas as partes devem usar o mesmo espaço de nomes, nome e modificador de acesso.
- Mantenha cada arquivo concentrado em uma finalidade (gerado ou manual).
- No C# 6, os métodos partial são void e privados; mantenha-os pequenos.
Finalidade de uma classe partial
Recapitulação
Recapitulação: Use partial para dividir tipos entre arquivos e adicionar métodos partial como pontos de extensão opcionais. Mantenha as partes no mesmo espaço de nomes e com o mesmo nome, e deixe o compilador combiná-las.
Aprenda C# com um tutor de IA — grátis
Escreva e execute código real no seu navegador, obtenha ajuda instantânea de um tutor de IA 24/7 e continue de onde parou na web ou no app.
- Cursos
- 93
- Aulas
- 346
Perguntas Frequentes
A aula “Tipos parciais e arquivos” é grátis?
Sim — o texto completo de “Tipos parciais e arquivos” é grátis para ler aqui na web. Para praticá-la interativamente (um editor de código integrado e um tutor de IA 24/7) e desbloquear o restante do curso de C# Academy, atualize para CoddyKit PRO. O curso de C# Academy inclui 3 aulas no total.
O que vou aprender em “Tipos parciais e arquivos”?
Divida um tipo entre arquivos com classes/structs parciais e use métodos parciais para inserir lógica personalizada no código gerado. Você pratica C# Academy com código prático que executa diretamente no navegador, e um tutor de IA 24/7 responde suas dúvidas enquanto trabalha na aula.
Preciso ter experiência prévia para começar C# Academy?
Nenhuma experiência prévia é necessária. C# Academy no CoddyKit é estruturado para alunos iniciantes até avançados, então você pode começar aqui ou desde o início e aprender no seu ritmo. Esta é a aula 3 de 3.
Quanto tempo leva a aula “Tipos parciais e arquivos”?
A maioria das aulas CoddyKit leva cerca de 5–10 minutos. Cada uma é compacta e interativa, então você faz progresso constante e retoma exatamente de onde parou entre web e app.
Posso escrever e executar código nesta aula de C# Academy?
Sim. Cada aula de C# Academy inclui um editor de código integrado, então você escreve e executa código real direto no navegador e recebe feedback de IA instantaneamente — nenhuma configuração local necessária.
Todas as aulas deste curso
- public/internal/protected/private (com observação sobre file)
- Namespaces, diretivas using e usings globais (observação)
- Tipos parciais e arquivos