Aké sú formálne parametre postupu 1C. Popis postupov a funkcií

Funkcie 1c a postupy v 1C pracujú podobne ako iné jazyky - funkcia je pomenovaný podprogram na zavolanie z iných lokalít softvérového kódu.

Postup pre vyhlásenie funkcií v ľubovoľnom module (to znamená, že je možné v texte postupu nachádzajúceho sa na samom začiatku modulu na použitie postupov, ktorých text bude umiestnený v tomto module). Podobne je možné exportovať 1C funkcie.

Ak chcete "Ukončiť" z vykonania funkcie 1C a postupov, použite príkaz "Return;". Funkcia (na rozdiel od postupu) "vráti" výsledok výpočtov, to znamená, že je potrebné napísať "návratovú hodnotu;". Funkcie 1C nie sú napísané, potom môžu vrátiť hodnotu rôznych typov v závislosti od parametrov alebo podmienok.

Funkcia sa líši od postupu pre schopnosť vrátiť výsledok výpočtov, napríklad:

Funkčná funkcia1 \u200b\u200b(parameter)
Návratový parameter * 2;
Koncová funkcia

Variabilné1 \u003d funkcia1 \u200b\u200b(10);
// premenná1 bude rovná 20

Parametre funkcie a postupov 1C sú odkazy na premenné, ktoré existujú na mieste hovorov. "Referencia" znamená pri zmene hodnoty parametra "vnútri" funkcie 1c, zmení sa a "vonku". Takže sa to nestane - parameter sa prenáša s hodnotou AC. To však nefunguje s hodnotami objektov (zoznamy, tabuľky, databázové objekty), budú stále prenášané odkazom.

Pri prenose parametra k postupu / funkcii sa prenáša "odkazom". To znamená, že zmena v rámci postupu zmeníte svoju hodnotu pri prístupe po ukončení funkcie 1C. Predchádzajúci príklad teda môže byť napísaný takto:

Postup Postup1 (parameter)
Parameter \u003d parameter * 2;
Extrudress

Variabilné1 \u003d 10;
Postup1 (variabilný1);
Správa (variabilná1);
// Výsledok bude 20

Prejsť do postupu, hodnota premennej a nie jeho vlastné:

Postup Postup1 (parameter hodnoty)
// akcie.
Extrudress

Pri práci s objektmi (adresármi, dokumentmi) je potrebné pripomenúť, že vnútri 1C / postupu 1C postupov sa môže vykonať.
Ak je 1C / proces funkcia 1C viacnásobné parametre, potom môže byť zbytočné preskočené (zadanie čiarky, ak je parameter chýba v strede), bude prenášaný alebo nedefinovaný (pozri nižšie) alebo predvolenú hodnotu:

Funkčná funkcia1 \u200b\u200b(parameter1, parameter2, parameter3 \u003d "hodnota reťazca")
// urob niečo
Koncová funkcia

// volať funkciu bez niektorých parametrov
// Parameter2 sa rovná neistým
// Parameter3 sa rovná "Hodnotení reťazca"
Funkcia1 \u200b\u200b(10);

// volanie funkcie bez druhého parametra
Funkcia1 \u200b\u200b(10, "hodnota");

Ako už bolo spomenuté vyššie, 1C postupy sa používajú ako manipulátory udalostí, ktoré vznikajú od užívateľa s formulárovou formou (otváranie, zatváranie, stlačenie tlačidiel atď.) Alebo prevádzku platformy (štart, dokončenie, atď.). Možné typy manipulátorov formulára alebo jeho prvky je možné vidieť v nehnuteľnostiach - kliknutím na príslušný prvok formulára (a srolling okienku vlastností dole). Typy manipulátorov v objektovom module je možné vidieť pomocou rozbaľovacieho zoznamu na paneli v konfigurátore - kde sa zobrazí zoznam dokonca neurčitých a už určitých udalostí. V rôznych udalostiach, rôzne parametre pri pridávaní 1C handler, automaticky predpisuje zoznam parametrov.

Vstavané 1C: Enterprises podporuje dva spôsoby prenosu parametrov na postupy a funkcie: vysielacie parametre podľa referenčných a prenosových parametrov podľa hodnoty.

V predvolenom nastavení v Embedded Language 1c: Enterprises 8 Prenos parametrov na postupy a funkcie podľa odkazu. To znamená, že zmena formálneho parametra vo vnútri procedúry alebo funkcie sa prejaví na hodnote skutočného parametra prenášaného, \u200b\u200bkeď sa nazýva postup alebo funkcia.


Postupový postup1 (formálny parameter1)

Formalpameter1 \u003d 2 * 3;

Extrudress

Skutočneparameter \u003d 10;
Postup1 (skutočný parameter);

// Zobrazí sa hodnota 6 - zmena vo formálnom
// Parameter v rámci postupu ovplyvnil zmenu

// Call Postup: Štandardne sa prenášajú parametre
// Link!

Prenos parametrov podľa hodnoty

Keď sa prenáša parameter zvaného postupu alebo funkcie, zmena hodnoty formálneho parametra vo vnútri procedúry alebo funkcie neovplyvňuje skutočný parameter prenášaný, keď sa nazýva postup alebo funkcia. Všimnite si, že parameter sa musí prenášať podľa hodnoty, vykonáva sa pomocou kľúčového slova hodnoty.

Príklad:


Postup Postup2 (hodnota formálneho parametra)

Formalpameter1 \u003d 2 * 3;

Extrudress

Skutočneparameter \u003d 10;
Postup2 (aktuálny parameter);

// hodnota 10 sa zobrazí - zmena vo formálnom
// Parameter v rámci postupu neovplyvnil zmenu
// Hodnoty skutočného parametra prenášaného, \u200b\u200bkeď
// Call Postup: Parameter sa prenáša podľa hodnoty!
Správa (aktuálny parameter);

Vlastnosti prenášania premenných rôznych typov údajov podľa hodnoty

Prenos premenných rôznych typov údajov podľa hodnoty má svoje vlastné charakteristiky. Spojujú sa v práci s metódami a vlastnosťami kontextu formálnych parametrov, stav skutočného parametra prenášaného, \u200b\u200bkeď sa nazýva postup alebo funkcia.

Zvážte ako príklad situáciu, keď je parameter postupu odoslaného podľa hodnoty. Vo vnútri zvaného postupu sa vytvorí proces procesu () Nová inštancia tabuľky hodnôt, ktorá pridáva tri riadky. To nemá vplyv na stav tabuľky hodnôt TK prenášaných ako skutočný parameter pri volaní postupu na odberanie ():


Postup spracovania spracovania (podpisová tabuľka)


Hodnota záložky \u003d nové tabuľky;

// Pridajte dva reproduktory do tabuľky hodnôt
TAB COMPEX. TABOLBY. PRÍSLUŠENSTVO ("COLNET1");
TAB COMPELLS. PRODUKTU ("COLNET2");


Pre n \u003d 1 až 3 cyklus
NOVTSTOK \u003d HODNOTNOSŤA. PRÍSTUPY ();
Novstok.colonka1 \u003d "stĺpec";
Novstok.colonka2 \u003d p;
Endcycle;

Extrudress

// Vytvorte novú tabuľku hodnôt
Tk \u003d nové tabuľky;



// Pridajte k tabuľke hodnôt niekoľko riadkov
Pre n \u003d 1 až 10 cyklu
Novstok \u003d tz. Addly ();

Novstok.colonka3 \u003d p;
Endcycle;

// stiahne 10


Ošetrené (tk);

// stiahne 10: Vnútri postupu
// vo formálnom parametri uložil novú tabuľku hodnôt

Zvážte ako príklad situáciu, keď je parameter postupu odoslaného podľa hodnoty. Vo vnútri výsledného postupu sa zrútila kolaterál () tabuľka hodnôt prenášaných ako parameter pri volaní postupu:


// Uvádza sa, že prenos parametra tabuľky hodnoty sa vykonáva podľa hodnoty
Postup Zbaliť: tabuľkový signál)

// budeme s tabuľkou hodnôt na stĺpci stĺpcov1 a stĺpec3
Súhrn karty (stĺpec1 "," stĺpec3 ");

Extrudress

// Vytvorte novú tabuľku hodnôt
Tk \u003d nové tabuľky;

// Pridajte do tabuľky hodnôt tri stĺpce
Tk.colonki. Addly ("stĺpec1");
Tk.colonki. Addly ("stĺpec2");
Tk.colonki. Addly ("stĺpec3");

// Pridajte k tabuľke hodnôt niekoľko riadkov
Pre n \u003d 1 až 10 cyklu
Novstok \u003d tz. Addly ();
Novstok.colonka1 \u003d "stĺpec1";
Novstok.colonka2 \u003d "stĺpec2";
Novstok.colonka3 \u003d p;
Endcycle;

// stiahne 10
Správa ("počet prvkov v TK na otáčanie:" + TZ. N'tr. ());

// Chodovať postup odoslaním aktuálneho parametra TK podľa hodnoty
Nasadenie (tk);

// tabuľka hodnôt teraz minimalizovaná: hodnota sa zobrazí 1
Správa ("počet prvkov v TK po skladaní:" + TK. Štátna príslušnosť ());

Prenos skutočného parametra podľa hodnoty v tomto prípade teda neviedol k vytvoreniu kópie tabuľky hodnôt. Pri práci s vlastnosťami a metódami hodnôt hodnôt pracujeme s vlastnosťami a metódami tabuľky hodnôt, ktoré sa používajú pri nazvenom postupe ().

Rozdiel pre všetky typy pri prenose parametra procedúry alebo funkcie podľa odkazu alebo hodnota sa prejavuje pri zaradení skutočného parametra procesu alebo funkcie novej hodnoty. Vlastnosti a metódy kontextu aktuálneho parametra, ak existujú, ovplyvňuje formálny parameter, bez ohľadu na to, či sa prenáša odkazom alebo hodnotou.

1. Opis postupov a funkcií sa odporúča vykonávať vo forme komentára k nim. Potreba vyjadriť sa k určitým častiam postupov a funkcií by sa malo určiť vývojom založeným na zložitosti a neštandardnej časti kódexu.

2. Povinné pripomienky vyžaduje postupy a funkcie modulov, ktoré sú zahrnuté v softvérovom rozhraní - takéto postupy a funkcie sú určené na použitie v iných funkčných subsystémoch (alebo iných aplikáciách), pre ktoré môžu byť zodpovední ostatní vývojári, takže musia byť dobre zdokumentované.

Pozri tiež:Obmedzenia používania exportných postupov a funkcií a používanie exportných postupov a funkcií v moduloch

4. Treba sa vyhnúť pripomienkam, ktoré nedávajú dodatočné vysvetlenia týkajúce sa prevádzky neexistujúceho postupu (funkcia).
Napríklad nesprávne:

// Postup - Formuláre procesora "Výstup" // & SLIT Recirečný postup () // spracovanie postupu "vypočítať" // správny postup výpočtu () // Postup spracovania udalosti "Uloženie" prvku Upraviť Tile Tile // & Doložka Úprava postupu vstupuTolkovdiahepression (prvok)

V týchto príkladoch sú pripomienky nadbytočné, pretože je zrejmé z mien postupov, ktoré ide o domáce udalosti. A s ich popisom a priradením parametrov nájdete v asistentovi syntaxe.

// Funkcia sa vráti podľa dokumentu Funkcia clausency (dát)

Tento komentár neposkytuje žiadne ďalšie informácie o funkcii.

5. Komentár je umiestnený pred vyhlásením postupu (funkcií) a má nasledujúci formulár.

5.1. Časť "Popis"obsahuje verbálny stručný opis cieľa a / alebo princípov postupu (funkcie). Môže to byť jediná časť pre postupy bez parametrov.

5.2. Sekcia "Parametre"popisuje parametre procedúry (funkcie). Ak nie sú, časť sa preskočí. Pred predchádzajúcim reťazcom "Parametre:" , potom z novej línie sú popisy všetkých parametrov.

5.2.1. Popis parametra Začína s novým riadkom, potom názov parametra, potom pomlčka a typový zoznam (*), po ktorom nasleduje pomlčka a textový opis parametra.
Napríklad:

// Parametre:

Pre každý parameter môžete zadať jeden alebo viac ďalších popisov typov parametrov. Každý dodatočný opis začína novým riadkom, potom povinným pomlčkami, potom zoznam typov parametrov (*), po ktorom nasleduje pomlčka a opis textu.
Napríklad:

// Parametre: // Podrobnosti - reťazec - mená podrobností uvedených prostredníctvom čiarky. // napríklad "kód, meno, rodič." // - štruktúra, pevné konštrukcie - ako odovzdaný kľúč // Pseudonymné polia pre vrátenú štruktúru s výsledkom, // a ako hodnota (voliteľné), názov skutočného poľa v tabuľke. // Ak hodnota nie je definovaná, názov poľa je prevzatý z kľúča. // - pole, Pevnosť Massiv - rad rekvizín.

5.3. Časť "Return Hodnota"popisuje typ a obsah funkcie funkcie. Pre postupy chýba táto časť. Predchádzajúc reťazec "návratová hodnota:". Potom z novej rady typov typov (*), potom pomlčky a textu.
Napríklad:

// návratová hodnota: // Boolevo - pravda, ak je súčasnému používateľovi k dispozícii aspoň jedna z prenesených rolí,

5.4. Sekcia "Príklad" Obsahuje príklad použitia postupu alebo funkcie. Pripravený reťazcom "Príklad:". Ďalej z nového riadku príklad používania.

(*) Poznámka: Pod "zoznamu kvality" znamená názvy typov oddelených čiarkami. Názov typu môže byť jednoduchý (v jednom slova) alebo kompozitné - v dvoch slovách oddelených bodom.
Napríklad: Riadok, Konštrukcia, Danderther ShipdersTeries.

Pri vývoji na platforme 1C: Enterprise 8.3 Komentár Text sa zobrazí aj v kontextových rýchlych postupoch, funkciách a ich parametroch. Podrobnosti nájdete v časti "Kontextový tip pri zadávaní textov modulu" Kapitoly 26 "Vývojové nástroje" v dokumentácii pre platformu.

Príklad opisu funkcie s jedným parametrom:

// určuje dostupnosť rolí iba rolí na aktuálneho používateľa, // a tiež dostupnosť administratívnych práv. // // Parametre: // TOAMERS - NÁZVY NÁZVY NÁZVY, KTORÉ SA KONTROLAČNOSTI, KTORÉ JE KONTROLA, ZAHREJNITEĽNOSTI SÚVISLOSTI. // // návratová hodnota: // Boolevo - pravda, ak je súčasnému používateľovi k dispozícii aspoň jedna z prenesených rolí, // Ani on má administratívne práva. // // Príklad: // Ak Rolly Prístup ("Extra Mass Calcounts, Poslať") Potom ... // Function Roll Access (men meny) Export

Príklad opisu postupu bez parametrov:

// V obsluhe udalostí sa vykoná aktualizácia dokumentu; // - čistenie tabuľky časť služby, ak je zmluva špecifikovaná s agentom Komisie; // - kontrola vyplnenia požadovanej jednotky transakcií v tabuľke. Časti tovaru; // - synchronizácia s "podriadenou" faktúrou; // - vyplnenie skladu a poradie kupujúceho v tabuľkových častiach tovaru a výnosov; // - vymazanie nevyužitých riadkov tabuľky "sériové čísla"; / / - Vyplňte premennú modulu objektu. // Postup prepisovania () Kontrola konca

6. Ak sa chcete vyjadriť k postupu alebo funkcii, ktorá sa používa so smernicou o kompilácii, najprv by ste mali uverejniť komentár a potom -
smernica o kompilácii. Napríklad:

// Postup - Formuláre udalosti "Odchod". // spracováva parametre formulárov a vypĺňa podrobnosti hodnôt tvaru. // a tiež vykonáva tieto akcie: // ... // & NESServer konzervačný postup (zlyhanie, štatistické spracovanie)

Tento štýl umiestnenia komentára vám umožňuje najprv venovať pozornosť definícii funkcie a smernice o kompilácii, a potom - na komentári, že dostatočne veľký počet riadkov môže obsadiť.

7. Kód postupov a funkcií by mal byť od seba oddelený v texte modulu s prázdnymi reťazcami.

Automatické objednávky Komentáre k postupom alebo funkciám so smernicami o kompilácii

Aby ste automaticky zabezpečili komentáre k postupom alebo funkciám so smernicami o kompilácii, môžete použiť aplikované spracovanie FormamimeDizlizpilation.epf.. Na to potrebujete:

  1. Uvoľnenie konfiguračných modulov (príkazový príkaz konfigurácie -\u003e Uvoľnenie konfiguračných súborov ...)
  2. Otvorený režim spracovania 1C: Podnik a zadajte adresár, v ktorom boli moduly vyložené - ďalej, kliknite na tlačidlo "Formát"
  3. Stiahnite si moduly v konfigurácii (Príkaz konfigurácie -\u003e Stiahnite si konfiguračné súbory ...)

Nájdeme: príklad oznámenia a opisu postupu bez parametrov, postup parametrov pre preplatenie ()Chladia sa na použitie vidlice pre 1c, ako vykonať postup v 1C, ktoré je potrebné opraviť mená funkcií alebo postupov?, Ak chcete pochopiť a čítať v Code 1c postup a funkciu, 1c 77 Popis funkcie, komentár kódu Kódové materiály Množstvo, postupy a funkcie v 1C, 1C Dokumenty Postupy a funkcie


Vopred sa ospravedlňujem za patos anotáciu o "umiestnení bodov", ale je potrebné, aby ste sa dostali do článku)) pre moju časť, budem sa snažiť abstraktovať, že ste stále ospravedlnili svoje očakávania.

Stručne povedané o tom, čo to je

To všetko je tiež známe, ale stále na začiatku vám pripomínam, ako možno parametre metódy prenášať v 1C. Môžu byť prenášané "na prepojení" a "význam". V prvom prípade vysielame rovnakú hodnotu metódu ako na hovore, a v druhej - jeho kópie.

V predvolenom nastavení, 1C argumenty sa prenášajú podľa odkazu a zmena parametra vo vnútri metódy bude vidieť z vonkajšej metódy. Tu ďalej porozumieť problém závisí od toho, čo presne pochopíte pod slovom "Zmeniť parameter". Takže, tam je opätovné zadanie a nič viac. Okrem toho môže byť úloha implicitná, napríklad volaním metódy platformy, ktorá vráti niečo do výstupného parametra.

Ale ak nechceme, aby bol náš parameter prenášať podľa odkazu, potom môžeme zadať kľúčové slovo pred parametrom Znamenie

Postup pre poznanie (parameter hodnoty) Parameter \u003d 2; Externý parameter \u003d 1; Tvorba (parameter); Správa (parameter); // bude 1.

Všetko funguje ako sľúbené - zmena (a správnejšie sa povie "náhrada") Hodnota parametra nevedie k zmene hodnoty mimo metódy.

Čo je to vtip?

Zaujímavé chvíle začínajú, keď začneme prenášať ako parametre nie sú primitívne typy (riadky, čísla, dátumy atď.), Ale objekty. To je miesto, kde "malá" a "hlboká" kópia objektu, ako aj ukazovatele (nie z hľadiska C ++, a ako abstraktné deskriptory (rukoväte), vyskočí.

Pri prenášaní objektu (napríklad tabuľky) podľa odkazu, prenášame hodnotu hodnoty ukazovateľa (nejaká rukoväť), ktorá v pamäti platformy "drží" objekt. Pri prenose hodnoty bude platforma kópiu tohto ukazovateľa.

Inými slovami, ak, prejde objekt odkazom, v spôsobe priraďujeme hodnotu parametra "pole", potom v mieste hovoru získame pole. Znova priradenie hodnoty prenášanej odkazom je zobrazená z miesta hovoru.

Postup spracovania (parameter) Parameter \u003d Nové pole; TABUĽKA BUŽDY TRAVY \u003d NOVÉ BUDOVKY; Liečba (tabuľka); Správa (Tinch (tabuľka)); // Vložte pole

Ak, dáme objekt podľa hodnoty, potom v mieste hovoru, náš stôl nezmizne.

Obsah objektu a jeho stav

Keď je hodnota prenášaná, nie celý objekt sa kopíruje, ale iba jeho ukazovateľ. Inštancia objektu zostáva rovnaká. Nezáleží na tom, ako prejdete objekt odkazom alebo podľa hodnoty - čistenie hodnôt hodnôt bude mať za následok čistenie tabuľky. Toto upratovanie bude viditeľné všade, pretože Objekt bol jeden a jedinečný a bez ohľadu na to, ako bol prenášaný na metódu.

Parameter spracovania postupu (parameter). Ovládanie (); TABUĽKA BUŽDY TRAVY \u003d NOVÉ BUDOVKY; Tabuľky. Prídavné (); Liečba (tabuľka); Správa (tabuľka. Číslo ()); // stiahnuť 0.

Pri prenášaní objektov do metód, platforma pracuje podľa ukazovateľov (konvenčných, nie priamych analógov z C ++). Ak je objekt prenášaný odkazom, potom 1C virtuálny stroj Memory Cell, v ktorom je tento objekt leží, môže byť prepísané iným objektom. Ak sa objekt prenáša podľa hodnoty, ukazovateľ je skopírovaný a prepíše objekt nevedie k prepísaniu pamäťovej bunky so zdrojovým objektom.

Zároveň Akákoľvek zmena Štát Objekt (čistenie, pridanie vlastností atď.) Zmení samotný objekt a vo všeobecnosti nie je spojený s tým, ako a kde bol objekt prenášať. Stav inštancie objektu sa zmenil, môže to byť banda "referencie" a "hodnoty", ale inštancia je vždy rovnaká. Prejdením objektu na spôsob, nevytvárame kópiu celého objektu.

A je to vždy pravda, okrem ...

Interakcia klient-server

Platforma je veľmi transparentne implementovaná serverovými hovormi. Jednoducho zavoláme metódu a pod kapotou platformy serializuje (zmení sa na reťazec) všetky parametre metódy, prenáša na server a potom vráti výstupné parametre späť k klientovi, kde sa deserializujú a žijú, akoby Prejdite na ľubovoľný server.

Ako viete, nie všetky objekty platformy sú serializovateľné. Odtiaľ je, že obmedzenie rastie, že nie všetky objekty môžu byť prenesené na metódu servera od klienta. Ak vysielate nezadaný objekt, platforma začne nadávať zlé slová.

  • Výslovné oznámenie o zámeroch programátora. Pri pohľade na podpis metódy môžete jasne povedať, ktoré parametre sú vstupy, a aký výstup. Tento kód je ľahšie čítať a sprevádzať
  • Aby ste zmenili parameter "Link" na serveri, je vidieť na mieste Call na klientovi,arametre prenášané na server podľa odkazu, platforma sa určite vráti k klientovi, aby zabezpečili správanie opísané na začiatku článku. Ak sa parameter nemusí vrátiť, bude prekročenie dopravy. Na optimalizáciu výmeny údajov, parametre, ktorých hodnoty nepotrebujeme na výstupe, musíte označiť slovo význam.

Druhý bod je tu pozoruhodný. Ak chcete optimalizovať prevádzku, platforma nebude vráti hodnotu parametra klientovi, ak je parameter označený slovom slov. To všetko je úžasné, ale vedie k zaujímavému efektu.

Ako som povedal, keď je objekt prenesený na server, vyskytuje sa serializácia, t.j. Vykonáva sa "Deep" kópia objektu. A ak sú slová Hodnotaobjekt nebude odchádzať zo servera späť k klientovi. Skladujeme tieto dva fakty a získame nasledovné:

Parameter Promotion (Parameter). Odporúčam (); Postup extrudress & Nasserver pre parameter známych (hodnota parameter). Odporúčam (); Extrudress a sťažnosť Postup ComparitionCleant (hodnota parametrov). Odporúčam (); Koniec kontrole a reklamácia Kontrola Signál () List1 \u003d Nové SNAPS; Zoznam1. Pridať ("hi"); List2 \u003d zoznam1.copy (); List3 \u003d zoznam1.copy (); // Objekt sa úplne skopíruje, // prenášaný na server, potom sa vráti. // Čistenie zoznamu je viditeľný v post mieste rýchleho (zoznamu1); // Objekt je kompletne skopírovaný, // prechádza na server. Späť sa nevraca. // Čistenie zoznamu nie je viditeľný na mieste Call of Creation (List2); // Skopírujte iba ukazovateľ objektov // Čistenie Zoznam je viditeľný na mieste call bodu poznania (zoznam3); Správa (zoznam1. N'Tvice ()); Správa (zoznam2. Číslo ()); Správa (zoznam3. N'trb ()); Extrudress

Zhrnutie

Ak je krátko, je možné zhrnúť nasledovne:

  • Prenos podľa odkazu vám umožňuje "pot" objekt s úplne iným objektom
  • Prenos nie je povolený "pot" objekt, ale zmeny vo vnútornom stave objektu budú viditeľné, pretože Pracovať s rovnakou inštanciou objektu
  • Keď hovor hovor, práca sa dodáva s rôznymi objektmi objektu, pretože Sa uskutočnilo hlboké kopírovanie. Kľúčové slovo Hodnota Vypnite kopírovanie inštancie servera späť k klientovi a zmenu interného stavu objektu na serveri nebude viesť k podobnej zmene klienta.

Dúfam, že tento jednoduchý zoznam pravidiel vám umožní jednoduchšie riešiť spory s kolegami o prenose parametrov "podľa hodnoty" a "na prepojení"