Támogatás nyelvi funkciók c # Visual Studio és coderush Roslyn
C # folyamatosan fejlődik. Tavasszal jött a hetedik változat. Ez a cikk áttekinti támogatja a legújabb funkciók a C # CodeRush Roslyn. Pro C # 7.0-nek már számos publikáció ügyéről, így a hangsúly, hogy hogyan támogatja a CodeRush Roslyn.
Bónusz végén a cikk, hogy a recept azoknak, akik valamilyen oknál fogva nem kívánja használni az új nyelvi jellemzőket.
Feladat-szerű visszatérő típusok aszinkron módszerek
Ha mielőtt az aszinkron módszer csak visszatérni típusú feladat vagy feladat
Először nézzük meg, hogy a funkciók a aszinkron módszer, amely visszaadja a Task -szerű típusát. Például az eljárás egy paraméterrel próbálja felhívni a kilépés módja szerződés:
Mint látható, CodeRush Roslyn helyesen állapította meg, hogy a visszatérés az üzemeltető üresnek kell lennie, és nem tartalmazhat olyan kifejezést, mint ebben az esetben a visszatérési típus nem általános (nem tartalmazza a típusú paraméterek). Egyéb jellemzők generáló visszatérő szereplők is megfelelően működnek. Példaként nézzük meg, hogyan működik sablon „r”, ami az intelligens Return. belül egy aszinkron módszer:
Ebben az esetben a CodeRush helyesen felismerte, hogy a visszatérés az üzemeltető tartalmaznia kell ArgumentKind típusú kifejezés és helyezze be a megfelelő alapértelmezett értéket.
A második pont - ez funkciók használatához -vyrazheniya várják hívás aszinkron módszer, amely visszaadja a Task -szerű típusát. Mint látható a következő képen, CodeRush helyesen azonosítja az adott típusú -vyrazheny várnak:
tuple értékek
Talán ez egy innováció nyelvspecifikáció azt állítja, hogy a legkeresettebb. Most egy kényelmes szintaxis állapítsa meg a típusok több értékek sorokat. Megadhatja, hogy milyen egyszerű elem típusa és a nevüket. A későbbi kiadásokban van néhány ötlet a legátfogóbb támogatást sorok :. azonosítása és törli a nem használt elemek, csere terméket használja sorokat az újratervezés Átalakítás tuple, stb Közben van támogatása sorokat a meglévő fichah. Megmutatjuk, ezt egy példa a újratervezés Paraméter hozzáadása:
Refaktorálási helyesen értelmezni a megadott értéket, mint a tuple SortingKind SortingOrder és úgy is, mint az alapértelmezett értéket behelyettesítjük tuple alapértelmezett értékek az ilyen típusú.
Egy másik példa, bizonyítják a munka Smart Visszatérési funkciók. nyilvánosságra hozatala, amely az úgynevezett r sablon:
Mint látható, CodeRush Roslyn neveket használni változók tuple ha már bejelentették.
Beágyazott helyi funkció
Néha szükség van, hogy írjon egy segítő funkciót használja, amely csak bizonyos módszer. A C # 7 nyilatkozhat helyi funkciót közvetlenül a szervezetbe a módszer. Helyi funkciók hasonlóak a lambda kifejezések, de gyakran kód használatára vonatkozó helyi funkciók intuitív és világos.
Először is frissítettük elnevezése Assistant Azt, hogy ez a munka a helyi funkciók:
És mégis, már ismerős Paraméter hozzáadása is most dolgozik egy új szintaxis:
Újratervezés helyesen állapította meg a nyilatkozatot és minden a linkek és a paraméter hozzáadásával a kívánt helyzetbe.
Fokozott használata a kifejezés-test és dobja kifejezést
Úgy gondolom, hogy sok volt a fejében, hogy használjon kifejezést test C # 6, most az elemek listáját, ahol meg lehet bővíteni és szetter tulajdonságai, kivitelezők és a destruktor. Újratervezés használata Expression Body elérhető az új elemeket tartalmazza:
Szintén visszafordítani ezt újratervezés kibontása módja és kibontása Accessor akkor használható, ha az új szintaxist.
Használja Expression Body már kapható, és azokban az esetekben, ahol a módszert a test / akcessora nincs végrehajtás és kihívást kizárás. A bedobás kifejezést jegyeztek fel ilyen technikák teszik rövidebb és világosabb:
Egy másik eset, amikor a bedobás kifejezést növeli a láthatóságot a kód - ez a hármas operátor. Most, ha / else -vyrazhenie, amelyben a körülményektől függően vagy kivételt dob, vagy visszatér / hozzárendelünk egy értéket, akkor cserélje ki egy kifejezés a háromkomponensű üzemeltetője. Ez segít a újraszervezi Tömörítés ternáris Expression:
Fordított újratervezés kibontása ternáris Expression természetesen elérhető lesz az értelemben egy bedobás kifejezést:
Mintaegyezés
Szintén nagyon erős innováció, ami biztos vagyok benne, már a kedvenc sok felhasználó. Ez lehetővé teszi a ha és ítélkezési nyilatkozatokat, hogy ellenőrizze, hogy a változó egy objektum egy bizonyos típusát, majd, hogy egy változót az ilyen típusú, elkerülve a túlzott öntés. Amennyiben egy üzemeltető ezen túlmenően akkor további ellenőrzéseket végeznek, amikor -vyrazhenii.
Ebben a részben is, mi is nem veszik észre az összes ötleteit. Példaként ami már ott van, produmonstriruem munkát állapítsa osztály jellemzői esetében kifejezéseket, amelyek használják az új szintaxist:
Ebben az esetben a CodeRush Roslyn helyesen állapítja meg, hogy használ egy sablon típusát, és azonnal kijelentik ingatlan alkalmazva -vyrazhenii. Nézzük most a hibakeresés egy adott módszer, miközben magában CodeRush Debug megjelenítő:
Amikor a debugger eléri a switch-üzemeltető Debug megjelenítő kiszámítja a kifejezést minden esetben -vetkah és kijelzők, amelyek ezek végeznek ebben az esetben, így a kód is elhalványult a maradék ágakat. Ez teszi a kódot hibakeresés intuitív és felhasználóbarát, mutatja, milyen kódokat hajtja végre a következő lépésben.
Vissza Link
Vegyünk egy kombinációja két már ismert funkciók: Smart Visszatérés és állapítsa módszer, és hogyan fog működni egy módszert, amely visszaadja az alábbi linkre:
Intelligens Vissza Keretes kulcsszó ref, mint a visszatérő nyilatkozatot kell tartalmaznia ref-kifejezést ebben az esetben. Állapítsa módszer. meghatározzuk, hogy az eljárás kerül meghívásra a ref-kifejezés, rendesen bejelentett visszatérő típus, mint a ref int.
bináris literálok
Most az értékek bizonyos állandók a kód is megadható bináris kódot. Ez hasznos lehet a listát. CodeRush van olyan funkció, amely lehetővé teszi, hogy felgyorsítsa és egyszerűsítse a feladat, hogy egy új elem, hogy az Arsenal - Smart Ismétlődő Line. Csak nyomja meg a Shift + Enter és CodeRush egy új elem, kiemelve a szöveges mezők azok az elemek, amelyek megkövetelik változások:
És az ígért jutalom
Kevesen tudják, de a projekt szintjén, akkor válassza ki a nyelvet. CodeRush Roslyn felveti annak lehetőségét Építőanyag | előrehaladott állapotban | Nyelvű változat.
Például, ha teszel a C # 4.0, a helyi menüben meg fog változni, mert az interpoláció sor került fel a C # 6.0.
De nem csak elrejti a menüpontok nem támogatja a feltétel, akkor végre teljes mértékben támogatja a kívánt változatot, hogy többek szinten kód generáció.
Például, ha a projekt értéke változata C # 6.0, a Hirdessétek összehasonlítása tagjai állapítsa menü generálása kód a következő:
A C # 3.0, például, nameof () nem volt ott, és a kód lesz:
Használata révén szabványos értelmezők stúdió CodeRush Roslyn egyformán jól támogatott, mint az új C # funkciókat és öreg. CodeRush jelentősen kibővíti a Visual Studio képességeit ez nem lassítja. Ez különösen érzékelhető a nagy vállalati projektek nagy mennyiségű kódot.
Töltse próbálja CodeRush Roslyn honlapunkon.