Tipi e file partial
Suddivida un tipo tra più file con classi/struct partial e utilizzi metodi partial per collegare la logica personalizzata al codice generato.
Tipi e file partial è una lezione C# Academy gratuita su CoddyKit. Questa è la lezione 3 di 3. Puoi leggere la lezione completa qui gratuitamente — poi esercitati direttamente nel browser con un editor di codice integrato e un tutor IA disponibile 24/7. Fa parte del percorso di apprendimento C# Academy, e i tuoi progressi si sincronizzano tra il web e l'app CoddyKit. Il corso C# Academy include 3 lezioni in totale.
Panoramica sui tipi partial
Obiettivo: suddividere in modo ordinato i tipi di grandi dimensioni.
- partial class/struct: stesso namespace e stesso nome
- Di solito distribuiti su più file
- Metodi partial: hook facoltativi all'interno dei tipi partial
Parti di una partial class
Una partial class può essere dichiarata in più parti. Il compilatore le unisce in un unico 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());
}
}
Metodi partial
I metodi partial sono hook a tempo di compilazione: se non vengono implementati, la chiamata viene rimossa. In C# 6 devono essere void e private.
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 utilizzare partial
Casi d'uso:
- Codice del designer o codice generato in un file; modifiche sicure in un altro.
- Tipi di grandi dimensioni suddivisi per funzionalità: dati e comportamento.
- Hook facoltativi tramite metodi partial.
Partial struct
È possibile suddividere anche gli struct con partial; a tempo di compilazione il risultato è un unico tipo struct.
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());
}
}
Regole e suggerimenti per partial
Suggerimenti:
- Tutte le parti devono utilizzare lo stesso namespace, lo stesso nome e lo stesso modificatore di accesso.
- Mantenga ogni file focalizzato (generato o manuale).
- In C# 6, i metodi partial sono void e private; li mantenga brevi.
Scopo di una partial class
Riepilogo
Riepilogo: utilizzi partial per suddividere i tipi tra più file e aggiunga metodi partial per gli hook facoltativi. Mantenga le parti nello stesso namespace e con lo stesso nome, lasciando che sia il compilatore a unirle.
Domande Frequenti
La lezione «Tipi e file partial» è gratuita?
Sì — il testo completo di «Tipi e file partial» è gratuito qui sul web. Per esercitarvi in modo interattivo (un editor di codice integrato e un tutor IA 24/7) e sbloccare il resto del corso C# Academy, passa a CoddyKit PRO. Il corso C# Academy include 3 lezioni in totale.
Cosa imparerò in «Tipi e file partial»?
Suddivida un tipo tra più file con classi/struct partial e utilizzi metodi partial per collegare la logica personalizzata al codice generato. Eserciti C# Academy con codice pratico che esegui direttamente nel browser, e un tutor IA 24/7 risponde alle tue domande mentre lavori sulla lezione.
Ho bisogno di esperienza per iniziare C# Academy?
Non è richiesta alcuna esperienza precedente. C# Academy su CoddyKit è strutturato per principianti e studenti avanzati, quindi puoi iniziare da qui o dall'inizio e procedere al tuo ritmo. Questa è la lezione 3 di 3.
Quanto tempo richiede la lezione «Tipi e file partial»?
La maggior parte delle lezioni CoddyKit richiede circa 5–10 minuti. Ogni lezione è breve e interattiva, quindi fai progressi costanti e riprendi esattamente da dove hai lasciato su web e app.
Posso scrivere ed eseguire codice in questa lezione C# Academy?
Sì. Ogni lezione C# Academy include un editor di codice integrato, quindi scrivi ed esegui codice reale direttamente nel tuo browser e ricevi feedback istantaneo dall'IA — nessuna configurazione locale necessaria.
Tutte le lezioni di questo corso
- public/internal/protected/private (con nota su file)
- Namespace, direttive using e global usings (nota)
- Tipi e file partial