C# - partiall class   otázka

C#, WinForms

Přidal jsem třídu do projektu a nakopíroval do ní hlavičku z jiného souboru plus část kódu.

Po otevření projektu a kliknutí v průzkumníku projektu na soubor se mi ale neotevře zdroják, ale prázdný Windows Form.

Jak rozdělit třídu obsluhující Form do více souborů?

nahlásit spamnahlásit spam 0 odpovědětodpovědět

Musí mít stejný název, namespace, a klíčové slovo partial.

nahlásit spamnahlásit spam 0 odpovědětodpovědět

To všechno má - hlavičku třídy jsem zkopíroval.

nahlásit spamnahlásit spam 0 odpovědětodpovědět

Designer standardně formulář rozdělí na <form>.cs a <form>.Designer.cs, do <form>.Designer.cs pak generuje kód do <form>.cs nehrabe.

Dále aby se formulář načetl tak je nutné aby v konstruktor (v <form>.cs) obsahoval volání metody InitializeComponent(). Ta je právě vygenerovaná v tom <form>.Designer.cs

nahlásit spamnahlásit spam 0 odpovědětodpovědět

K čemu je to dobré?

nahlásit spamnahlásit spam 0 odpovědětodpovědět

K čemu jsou dobré partial class? Pokud chcete programovat (vážně), tak doporučuji si toto téma nastudovat. Detailní popis naleznete na několika zdrojích - od MSDN, přes fóra týkajcích se .Net technologií.

nahlásit spamnahlásit spam 0 odpovědětodpovědět

Partial třídy jsou k tomu, aby se dala jedna třída rozdělit do více souborů. Používá se to hlavně když je část třídy generovaná nějakým nástrojem, např. právě WinForms designer, ale může se jednat i o vlastní T4 šablonu a pod.

A pak jsou ještě i partial metody, takže generátor může připravit hlavičky a volání a pak se v partial třídě dopíše implementace.

nahlásit spamnahlásit spam 0 odpovědětodpovědět
                       
Nadpis:
Antispam: Komu se občas házejí perly?
Příspěvek bude publikován pod identitou   anonym.
  • Administrátoři si vyhrazují právo komentáře upravovat či mazat bez udání důvodu.
    Mazány budou zejména komentáře obsahující vulgarity nebo porušující pravidla publikování.
  • Pokud nejste zaregistrováni, Vaše IP adresa bude zveřejněna. Pokud s tímto nesouhlasíte, příspěvek neodesílejte.

přihlásit pomocí externího účtu

přihlásit pomocí jména a hesla

Uživatel:
Heslo:

zapomenuté heslo

 

založit nový uživatelský účet

zaregistrujte se

 
zavřít

Nahlásit spam

Opravdu chcete tento příspěvek nahlásit pro porušování pravidel fóra?

Nahlásit Zrušit

Chyba

zavřít

feedback