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. most már lehetséges, hogy állapítsa meg a saját feladatát -szerű típusok, amelyek segítségével a visszatérési értéke az aszinkron módszerek.

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:

Támogatás nyelvi funkciók c # Visual Studio és coderush Roslyn

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:

Támogatás nyelvi funkciók c # Visual Studio és coderush Roslyn

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:

Támogatás nyelvi funkciók c # Visual Studio és coderush Roslyn

Szintén visszafordítani ezt újratervezés kibontása módja és kibontása Accessor akkor használható, ha az új szintaxist.

Támogatás nyelvi funkciók c # Visual Studio és coderush Roslyn

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:

Támogatás nyelvi funkciók c # Visual Studio és coderush Roslyn

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:

Támogatás nyelvi funkciók c # Visual Studio és coderush Roslyn

Fordított újratervezés kibontása ternáris Expression természetesen elérhető lesz az értelemben egy bedobás kifejezést:

Támogatás nyelvi funkciók c # Visual Studio és coderush Roslyn

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ő:

Támogatás nyelvi funkciók c # Visual Studio és coderush Roslyn

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.

Támogatás nyelvi funkciók c # Visual Studio és coderush Roslyn

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.

Támogatás nyelvi funkciók c # Visual Studio és coderush Roslyn

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.

Kapcsolódó cikkek