C# Academy · Lektion

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.

Lektion 3 av 38 steg

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

Snabb kontroll: Vad är en praktisk användning av partial class i C# 6?

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.

Gratis att börja

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

  1. public/internal/protected/private (med anmärkning om file)
  2. Namespaces, using-direktiv och globala usings (anmärkning)
  3. Partiella typer och filer
← Tillbaka till C# Academy