Partiella typer och filer
Dela upp en typ över flera filer med partial-klasser/structs och använd partial-metoder för att koppla in anpassad logik i genererad kod.
Partiella typer och filer är en gratis lektion i C# Academy på CoddyKit. Detta är lektion 3 av 3. Ni kan läsa hela lektionen gratis nedan och sedan öva praktiskt i webbläsaren med en inbyggd kodredigerare och en AI-handledare som är tillgänglig dygnet runt. Den ingår i lärvägen för C# Academy, och Era framsteg synkroniseras mellan webben och CoddyKit-appen. Kursen i C# Academy innehåller totalt 3 lektioner.
Översikt över partial-typer
Mål: Dela upp stora typer på ett tydligt sätt.
- partial class/struct: samma namespace och namn
- Vanligtvis fördelade över flera filer
- partial methods: valfria krokar i partial-typer
Delar av partial class
En partial class kan deklareras i flera delar. Kompilatorn slår ihop dem till en enda typ.
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 är kompileringskrokar: om de inte implementeras tas anropet bort. I C# 6 måste de ha returtypen void och vara 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");
}
}
När partial bör användas
Användningsområden:
- Designer- eller genererad kod i en fil och säkra manuella ändringar i en annan.
- Stora typer som delas upp efter funktion: data och beteende.
- Valfria krokar via partial methods.
Partial struct
Ni kan också dela upp struct-typer med partial; resultatet blir en enda struct-typ vid kompileringen.
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 och tips för partial
Tips:
- Alla delar måste använda samma namespace, namn och åtkomstmodifierare.
- Håll varje fil fokuserad (genererad kod respektive manuell kod).
- I C# 6 har partial-metoder returtypen void och är private; håll dem små.
Syftet med partial class
Sammanfattning
Sammanfattning: Använd partial för att dela upp typer mellan filer och lägg till partial methods för valfria krokar. Håll delarna i samma namespace och med samma namn, så slår kompilatorn ihop dem.
Lär dig C# med en AI-lärare – gratis
Skriv och kör riktig kod i webbläsaren, få omedelbar hjälp av en AI-lärare dygnet runt och fortsätt där du slutade – på webben eller i appen.
- Kurser
- 93
- Lektioner
- 346
Vanliga frågor
Är lektionen ”Partiella typer och filer” gratis?
Ja – hela texten till ”Partiella typer och filer” kan läsas gratis här på webben. Om Ni vill öva interaktivt med en inbyggd kodredigerare och en AI-handledare som är tillgänglig dygnet runt och låsa upp resten av kursen i C# Academy, kan Ni uppgradera till CoddyKit PRO. Kursen i C# Academy innehåller totalt 3 lektioner.
Vad lär jag mig i ”Partiella typer och filer”?
Dela upp en typ över flera filer med partial-klasser/structs och använd partial-metoder för att koppla in anpassad logik i genererad kod. Ni övar på C# Academy med praktisk kod som körs direkt i webbläsaren, medan en AI-handledare som är tillgänglig dygnet runt svarar på Era frågor under lektionen.
Behöver jag någon erfarenhet för att börja lära mig C# Academy?
Du behöver inga förkunskaper. Utbildningen i C# Academy på CoddyKit är upplagd för allt från nybörjare till avancerade elever, så att du kan börja här eller från början och gå fram i din egen takt. Detta är lektion 3 av 3.
Hur lång tid tar lektionen ”Partiella typer och filer”?
De flesta CoddyKit-lektioner tar cirka 5–10 minuter. Varje lektion är kort och interaktiv, så att du gör stadiga framsteg och kan fortsätta precis där du slutade – på webben eller i appen.
Kan jag skriva och köra kod i den här C# Academy-lektionen?
Ja. Varje C# Academy-lektion innehåller en inbyggd kodredigerare, så att du kan skriva och köra riktig kod direkt i webbläsaren och få omedelbar AI-feedback – utan lokal installation.
Alla lektioner i den här kursen
- public/internal/protected/private (med anmärkning om file)
- Namespaces, using-direktiv och globala usings (anmärkning)
- Partiella typer och filer