Prehľad čiastkových tried v jazyku Visual Basic .NET

Čiastočné triedy sú vlastnosťou VB.NET, ktorá sa používa takmer všade, ale o tom nie je veľa napísané. Dôvodom môže byť skutočnosť, že pre ňu ešte nie je veľa zjavných aplikácií pre vývojárov. Primárne použitie je spôsob, akým sú riešenia ASP.NET a VB.NET vytvárané v prostredí Visual Studio, kde je to jedna z tých funkcií, ktoré sú zvyčajne „skryté“.

Čiastočná trieda je jednoducho definícia triedy, ktorá je rozdelená do viac ako jedného fyzického súboru. Čiastkové triedy nemajú vplyv na kompilátor, pretože všetky súbory, ktoré tvoria triedu, sa jednoducho zlúčia do jednej entity pre kompilátor. Keďže sa triedy jednoducho spájajú a zostavujú, nie je možné kombinovať jazyky. To znamená, že nemôžete mať jednu čiastkovú triedu v C # a ďalšiu v VB. Nemôžete pokrývať ani zostavy s čiastkovými triedami. Všetci musia byť v rovnakom zhromaždení.

Veľa to používa Visual Studio samotné, najmä na webových stránkach, kde je kľúčovým konceptom v súboroch „za kódom“. Uvidíme, ako to funguje vo Visual Studio, ale pochopenie toho, čo sa zmenilo v Visual Studio 2005, keď bolo predstavené, je dobrým východiskovým bodom.

instagram viewer

V programe Visual Studio 2003 bol „skrytý“ kód pre aplikáciu Windows všetko v časti s názvom Región označený „Generovaný kód Windows Form Designer“. V tom istom súbore však stále zostalo všetko a kód v regióne sa dal ľahko zobraziť a zmeniť. všetko kódu je k dispozícii pre vašu aplikáciu v .NET. Ale pretože niektoré z nich je kód, ktorý by ste mali nikdy sa neusporiadal s tým, že bol uchovávaný v tomto skrytom regióne. (Regióny sa dajú stále používať pre váš vlastný kód, ale Visual Studio ich už nepoužíva.)

V programe Visual Studio 2005 (Framework 2.0) spoločnosť Microsoft urobila približne to isté, ale skryli kód na inom mieste: čiastočnú triedu v samostatnom súbore. Môžete to vidieť na spodnej časti obrázka nižšie:


Kliknutím sem zobrazíte ilustráciu
Ak sa chcete vrátiť, kliknite v prehliadači na tlačidlo Späť

Jedným zo syntaktických rozdielov medzi jazykom Visual Basic a C # je práve to, že C # to vyžaduje všetko čiastkové triedy sa kvalifikujú pomocou kľúčového slova čiastočný ale VB nie. Váš hlavný formulár vo VB.NET nemá žiadne špeciálne kvalifikácie. Ale predvolený príkaz triedy pre prázdnu aplikáciu Windows vyzerá nasledovne s použitím C #:

verejná čiastková trieda Form1: Form

Zaujímavé sú možnosti dizajnu spoločnosti Microsoft týkajúce sa podobných vecí. Keď Paul Vick, návrhár spoločnosti Microsoft pre VB, písal o tomto výbere dizajnu na svojom blogu Panopticon Central, diskusia o tom pokračovala v komentároch pre stránky a stránky.

Pozrime sa, ako to všetko funguje so skutočným kódom na nasledujúcej stránke.

Na predchádzajúcej strane bol vysvetlený pojem čiastkových tried. Na tejto stránke prevádzame jednu triedu na dve čiastkové triedy.

Tu je príklad triedy s jednou metódou a jednou vlastnosťou v projekte VB.NET

 Kombinovaná trieda verejnej triedy. Súkromné ​​m_Property1 ako reťazec. Public Sub New (hodnota ByVal ako reťazec) m_Property1 = Hodnota. End Sub. Public Sub Method1 () MessageBox. Zobraziť (m_Property1) End Sub. Vlastnosť Nehnuteľnosť1 () Ako reťazec. Získať. Návrat m_Property1. End Get. Nastaviť (hodnota ByVal ako reťazec) m_Property1 = hodnota. End Set. Ukončiť vlastníctvo. Koncová trieda 

Túto triedu je možné volať (napríklad v kóde udalosti Click pre objekt Button) pomocou kódu:

Dim ClassInstance As New _. CombinedClass („O čiastkových triedach jazyka Visual Basic“) ClassInstance. Method1 ()

Vlastnosti a metódy triedy môžeme rozdeliť na rôzne fyzické súbory pridaním dvoch nových súborov triedy do projektu. Pomenujte prvý fyzický súbor Partial.methods.vb a pomenujte druhé Partial.properties.vb. Názvy fyzických súborov musia byť rôzne, ale názvy čiastkových tried budú rovnaké, aby ich Visual Basic mohol pri kompilácii kódu zlúčiť.

Nie je to požiadavka na syntax, ale väčšina programátorov sleduje v Visual Studio príklad použitia „bodkovaných“ mien pre tieto triedy. Napríklad Visual Studio používa predvolený názov Form1.Designer.vb pre čiastkovú triedu pre formulár Windows. Nezabudnite pridať čiastkové kľúčové slovo pre každú triedu a zmeniť interný názov triedy (nie názov súboru) na rovnaký názov. Použil som interný názov triedy: PartialClass.

Na nasledujúcom obrázku je uvedený celý kód príkladu a kód v akcii.


Kliknutím sem zobrazíte ilustráciu
Ak sa chcete vrátiť, kliknite v prehliadači na tlačidlo Späť

Visual Studio „skryje“ čiastkové triedy, napríklad Form1.Designer.vb. Na nasledujúcej stránke sa naučíme, ako to urobiť s čiastkovými triedami, ktoré sme práve vytvorili.

Predchádzajúce stránky vysvetľujú koncept čiastkových tried a ukazujú, ako ich kódovať. Microsoft však používa ešte jeden trik s čiastkovými triedami generovanými programom Visual Studio. Jedným z dôvodov ich použitia je oddelenie aplikačnej logiky od kódu UI (užívateľské rozhranie). Vo veľkom projekte môžu tieto dva typy kódov dokonca vytvárať rôzne tímy. Ak sa nachádzajú v rôznych súboroch, môžu sa vytvárať a aktualizovať s oveľa väčšou flexibilitou. Microsoft však ide ešte o krok ďalej a skryje aj čiastočný kód v aplikácii Solution Explorer. Predpokladajme, že sme chceli skryť čiastkové triedy metód a vlastností v tomto projekte? Existuje spôsob, ale nie je to zrejmé a spoločnosť Microsoft vám nehovorí ako.

Jedným z dôvodov, prečo nevidíte používanie čiastkových tried odporúčaných spoločnosťou Microsoft, je to, že v aplikácii Visual Studio zatiaľ nie sú veľmi dobre podporované. Ak chcete napríklad skryť triedy Partial.methods.vb a Partial.properties.vb, ktoré sme práve vytvorili, vyžaduje zmenu vbproj file. Toto je súbor XML, ktorý nie je ani zobrazený v aplikácii Solution Explorer. Nájdete ho v Prieskumníkovi Windows spolu s ostatnými súbormi. Súbor vbproj je uvedený na obrázku nižšie.


Kliknutím sem zobrazíte ilustráciu
Ak sa chcete vrátiť, kliknite v prehliadači na tlačidlo Späť

Budeme to robiť tak, že pridáme „koreňovú“ triedu, ktorá je úplne prázdna (zostanú iba hlavičky triedy a vyhlásenie koncovej triedy) a na tom závisia obe naše čiastkové triedy. Pridajte ďalšiu triedu s názvom PartialClassRoot.vb a znova zmeňte interný názov na PartialClass tak, aby zodpovedal prvým dvom. Tentoraz mám nie použil kľúčové slovo Čiastočné, aby sa zhodovalo s tým, ako to robí Visual Studio.

Tu je veľmi užitočná malá znalosť XML. Pretože tento súbor bude musieť byť aktualizovaný manuálne, musíte mať správnu syntax XML. Súbor môžete upravovať v ľubovoľnom textovom editore ASCII - Poznámkový blok funguje dobre - alebo v editore XML. Ukazuje sa, že v programe Visual Studio máte skvelú prácu a to je to, čo je zobrazené na obrázku nižšie. Ale nemôžete editovať súbor vbproj súčasne, v ktorom upravujete projekt, v ktorom sa nachádza. Zatvorte tak projekt a otvorte iba súbor vbproj. Mali by ste vidieť súbor zobrazený v editovacom okne, ako je to znázornené na obrázku nižšie.

(Všimnite si kompilácie prvky pre každú triedu. V závislosti na čiastkové prvky sa musia pridať presne tak, ako je to znázornené na obrázku nižšie. Táto ilustrácia bola vytvorená vo VB 2005, ale bola testovaná aj vo VB 2008.)


Kliknutím sem zobrazíte ilustráciu
Ak sa chcete vrátiť, kliknite v prehliadači na tlačidlo Späť

Pre mnohých z nás je dosť pravdepodobné, že vieme, že existujú čiastkové triedy, takže vieme, aké sú, keď sa v budúcnosti snažíme zistiť chybu. Pre vývoj veľkých a komplexných systémov by mohli byť malým zázrakom, pretože môžu pomôcť pri usporiadaní kódu spôsobom, ktorý by predtým nebol možný. (Môžete mať aj čiastočné štruktúry a čiastočné rozhrania!) Niektorí ľudia však dospeli k záveru, že ich spoločnosť Microsoft vynašla iba z interných dôvodov, aby ich tvorba kódu fungovala lepšie. Autor Paul Kimmel dokonca zašiel tak ďaleko, že naznačil, že Microsoft skutočne vytvoril čiastkové triedy na zníženie svojich nákladov tým, že uľahčil zadávanie zákaziek na vývoj po celom svete.

Možno. Je to niečo, čo by mohli urobiť.