Typy częściowe i pliki
Dziel typ na wiele plików za pomocą klas i struktur partial oraz używaj metod partial do podłączania własnej logiki do generowanego kodu.
Typy częściowe i pliki to bezpłatna lekcja C# Academy na CoddyKit. To lekcja 3 z 3. Możesz przeczytać całą lekcję poniżej za darmo — a potem ćwiczyć ją interaktywnie w przeglądarce z wbudowanym edytorem kodu i tutorem AI dostępnym 24/7. To część ścieżki edukacyjnej C# Academy, a Twój postęp synchronizuje się między webem a aplikacją CoddyKit. Kurs C# Academy zawiera 3 lekcji w sumie.
Przegląd typów częściowych
Cel: Przejrzyście dziel duże typy.
- partial class/struct: ta sama przestrzeń nazw i nazwa
- Zwykle rozmieszczone w wielu plikach
- partial methods: opcjonalne punkty rozszerzeń wewnątrz typów częściowych
Części klasy partial
partial class można zadeklarować w wielu częściach. Kompilator scala je w jeden 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());
}
}
Metody częściowe
Metody częściowe to punkty rozszerzeń obsługiwane w czasie kompilacji: jeśli nie zostaną zaimplementowane, wywołanie jest usuwane. W C# 6 muszą mieć typ void i być prywatne.
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");
}
}
Kiedy używać typów częściowych
Przypadki użycia:
- Kod projektanta lub generowany w jednym pliku, a własne, bezpieczne modyfikacje w innym.
- Duże typy podzielone według funkcji: dane i zachowanie.
- Opcjonalne punkty rozszerzeń za pomocą metod częściowych.
Częściowa struktura
Możesz także podzielić struktury za pomocą partial; w czasie kompilacji powstaje jeden typ struktury.
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());
}
}
Zasady i wskazówki dotyczące typów częściowych
Wskazówki:
- Wszystkie części muszą używać tej samej przestrzeni nazw, nazwy i modyfikatora dostępu.
- Każdy plik powinien mieć jasno określoną rolę (kod generowany lub ręczny).
- W C# 6 metody częściowe mają typ void i są prywatne; powinny być krótkie.
Przeznaczenie klasy częściowej
Podsumowanie
Podsumowanie: Używaj partial, aby dzielić typy między pliki, oraz dodawaj metody częściowe jako opcjonalne punkty rozszerzeń. Zachowaj tę samą przestrzeń nazw i nazwę wszystkich części, a następnie pozwól kompilatorowi je scalić.
Często zadawane pytania
Czy lekcja „Typy częściowe i pliki” jest bezpłatna?
Tak — pełny tekst „Typy częściowe i pliki” jest dostępny za darmo tutaj w sieci. Aby ćwiczyć ją interaktywnie (wbudowany edytor kodu i tutor AI dostępny 24/7) i odblokować resztę kursu C# Academy, przejdź na CoddyKit PRO. Kurs C# Academy zawiera 3 lekcji w sumie.
Co nauczysz się w „Typy częściowe i pliki”?
Dziel typ na wiele plików za pomocą klas i struktur partial oraz używaj metod partial do podłączania własnej logiki do generowanego kodu. Ćwiczysz C# Academy z praktycznym kodem, który uruchamiasz bezpośrednio w przeglądarce, a tutor AI dostępny 24/7 odpowiada na Twoje pytania podczas pracy nad lekcją.
Czy potrzebuję doświadczenia, aby zacząć C# Academy?
Nie wymagamy żadnego doświadczenia. C# Academy w CoddyKit jest strukturyzowany dla początkujących i zaawansowanych użytkowników, więc możesz zacząć tutaj lub od początku i uczyć się w swoim tempie. To lekcja 3 z 3.
Ile czasu zajmuje lekcja „Typy częściowe i pliki”?
Większość lekcji CoddyKit trwa około 5–10 minut. Każda lekcja to mały, interaktywny krok, dzięki czemu robisz systematyczne postępy i zawsze wracasz dokładnie do tego samego miejsca — na webie i w aplikacji.
Czy mogę pisać i uruchamiać kod w tej lekcji C# Academy?
Tak. Każda lekcja C# Academy zawiera wbudowany edytor kodu, więc piszesz i uruchamiasz prawdziwy kod bezpośrednio w przeglądarce i od razu otrzymujesz sprzężenie zwrotne od AI — bez konfiguracji na komputerze.
Wszystkie lekcje w tym kursie
- public/internal/protected/private (z uwagą o file)
- Przestrzenie nazw, dyrektywy using i global usings (uwaga)
- Typy częściowe i pliki