Partial-typer og filer
Opdel en type på tværs af filer med partial classes/structs, og brug partial methods til at koble brugerdefineret logik på genereret kode.
Partial-typer og filer er en gratis C# Academy-lektion på CoddyKit. Dette er lektion 3 af 3. Du kan læse hele lektionen gratis nedenfor — og derefter øve dig praktisk i browseren med en indbygget kodeeditor og en AI-vejleder, der er tilgængelig døgnet rundt. Den er en del af læringsforløbet i C# Academy, og dine fremskridt synkroniseres på tværs af nettet og CoddyKit-appen. C# Academy-kurset indeholder 3 lektioner i alt.
Oversigt over partial-typer
Mål: Opdel store typer på en overskuelig måde.
- partial class/struct: samme namespace og navn
- Normalt fordelt på flere filer
- partial-metoder: valgfrie udvidelsespunkter i partial-typer
Dele af en partial class
En partial class kan deklareres i flere dele. Kompileren samler dem til én type.
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());
}
}
Partial-metoder
Partial-metoder er udvidelsespunkter ved kompilering: hvis de ikke implementeres, fjernes kaldet. I C# 6 skal de have returtypen void og være 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");
}
}
Hvornår skal partial bruges
Anvendelsesområder:
- Designer- eller genereret kode i én fil; dine sikre ændringer i en anden.
- Store typer opdelt efter funktion: data kontra adfærd.
- Valgfrie udvidelsespunkter via partial-metoder.
Partial struct
Du kan også opdele structs med partial; resultatet er én struct-type ved kompilering.
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());
}
}
Regler og tips til partial
Tips:
- Alle dele skal bruge det samme namespace, navn og den samme adgangsmodifikator.
- Hold hver fil fokuseret (genereret kontra manuel).
- I C# 6 er partial-metoder void og private; hold dem meget små.
Formålet med en partial class
Opsummering
Opsummering: Brug partial til at opdele typer på tværs af filer, og tilføj partial-metoder til valgfrie udvidelsespunkter. Hold delene i det samme namespace og med det samme navn, og lad kompileren samle dem.
Lær C# med en AI-underviser — gratis
Skriv og kør rigtig kode i din browser, få øjeblikkelig hjælp fra en AI-underviser døgnet rundt, og fortsæt, hvor du slap, på web eller i appen.
- Kurser
- 93
- Lektioner
- 346
Ofte stillede spørgsmål
Er lektionen “Partial-typer og filer” gratis?
Ja — hele teksten til “Partial-typer og filer” kan læses gratis her på nettet. Hvis du vil øve dig interaktivt med en indbygget kodeeditor og en AI-vejleder døgnet rundt og få adgang til resten af C# Academy-kurset, skal du opgradere til CoddyKit PRO. C# Academy-kurset indeholder 3 lektioner i alt.
Hvad lærer jeg i “Partial-typer og filer”?
Opdel en type på tværs af filer med partial classes/structs, og brug partial methods til at koble brugerdefineret logik på genereret kode. Du øver dig i C# Academy med praktisk kode, som du kører direkte i browseren, og en AI-vejleder døgnet rundt besvarer dine spørgsmål, mens du arbejder dig gennem lektionen.
Skal jeg have erfaring for at begynde på C# Academy?
Der kræves ingen tidligere erfaring. C# Academy på CoddyKit er tilrettelagt for både begyndere og øvede, så du kan starte her eller fra begyndelsen og lære i dit eget tempo. Dette er lektion 3 af 3.
Hvor lang tid tager lektionen “Partial-typer og filer”?
De fleste CoddyKit-lektioner tager cirka 5–10 minutter. Hver lektion er kort og interaktiv, så du gør løbende fremskridt og kan fortsætte, hvor du slap – på både web og app.
Kan jeg skrive og køre kode i denne C# Academy-lektion?
Ja. Alle C# Academy-lektioner har en indbygget kodeeditor, så du kan skrive og køre rigtig kode direkte i din browser og få øjeblikkelig feedback fra AI – uden lokal opsætning.
Alle lektioner i dette kursus
- public/internal/protected/private (med bemærkning om file)
- Namespaces, using-direktiver, globale usings (bemærkning)
- Partial-typer og filer