C# Academy · Lektion

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.

Lektion 3 af 38 trin

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

Hurtigt tjek: Hvad er en praktisk anvendelse af en partial class i C# 6?

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.

Gratis at komme i gang

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

  1. public/internal/protected/private (med bemærkning om file)
  2. Namespaces, using-direktiver, globale usings (bemærkning)
  3. Partial-typer og filer
← Tilbage til C# Academy