ПредишенСледващото

C # се развива непрекъснато. През пролетта дойде седмата версия. В тази статия ще преразгледа подкрепят най-новите функции в C # CodeRush за Рослин. Pro C # 7.0 вече е имал няколко публикации Хабре, така че фокусът е върху това как тя се поддържа в CodeRush за Рослин.

Бонус в края на статията, дай рецептата за тези, които по някаква причина не искате да използвате новите езикови особености.

Задача подобни видове връщане асинхронни методи

Ако преди асинхронен метод може да се върне само вида Задача или Task. че сега е възможно да обявят своите собствени Task подобните видове, които можете да използвате, за крайния резултат от изпълнението на асинхронни методи.

Първо, нека да се провери как функциите в своя асинхронен метод, който връща Task -като вид. Например, за метода с един параметър се опита да се обади договора за Exit Метод:

Подкрепа за лингвистични особености C # в Visual Studio и coderush за Рослин

Както можете да видите, CodeRush за Рослин правилно определено, че връщането е операторът трябва да е празен и не трябва да съдържа никакви изразяване, като в този случай видът на връщане не е универсална (не съдържа типа на параметрите). Други функции, които генерират възвръщаемост оператори също работят правилно. Като пример, нека да разгледаме как се работи шаблон "R", което кара Смарт върне. в асинхронен метод:

В този случай, CodeRush правилно признава, че връщането е операторът трябва да се съдържа тип ArgumentKind изразяване и поставете съответната стойност по подразбиране.

На второ място - това е функции, които използват -vyrazheniya очакват обаждане асинхронен метод, който връща Task -като вид. Както може да се види от следната екранната снимка, CodeRush правилно идентифицира типа на -vyrazheny очакват:

Подкрепа за лингвистични особености C # в Visual Studio и coderush за Рослин

кортежи на ценности

Може би това е нововъведение в езика спецификация претендира да бъде най-търсените. Сега с удобен синтаксис може да обяви видовете, множество стойности са кортежи. Можете да определите колко е лесно типове елементи и техните имена. За бъдещите версии, ние имаме няколко идеи за възможно най-широка подкрепа за кортежи :. Идентифициране и изтриване на неизползвани позиции, сменяеми елементи, използвайте кортежи в рефакториране Конвертиране в кортеж, и т.н. В същото време, има подкрепа за кортежи в съществуващата fichah. Ние показваме това с един пример на рефакториране Добавяне на параметрите:

Рефакториране правилно разбор на въведената стойност като кортеж на SortingKind SortingOrder, а също и като стойностите по подразбиране са заместени кортеж на стойности по подразбиране на тези видове.

Като друг пример, демонстрация на работата на Смарт Върни се отличава. разкритието на който се нарича г шаблон:

Както можете да видите, CodeRush за Рослин използват имена на променливи кортеж, ако те са били обявени.

Вложени местно функция

Понякога е необходимо да се напише функция помощник за използване, който е ограничен до определен метод. В C # 7 може да обяви местно функция директно в тялото на метода. Местните функции са подобни на ламбда изрази, но често код за използването на местни функции е по-интуитивен и ясен.

На първо място, ние обновихме наименуване помощник Можете да работи с местните функции:

И все пак, вече познати на Добавете параметър е също вече работи с нов синтаксис:

Рефакториране правилно е установил декларацията и всички връзки и добавяне на параметъра до желаната позиция.

Увеличеното използване на изразяване тяло и хвърлят-изразяване

Мисля, че много е имал предвид да се използва израз тяло в C # 6, сега е списък с елементи, където тя може да се разшири и сетер свойства, конструктори и деструктори. Рефакториране Използвайте Expression тяло е достъпно на новите елементи:

Подкрепа за лингвистични особености C # в Visual Studio и coderush за Рослин

Също така се обърне тази рефакториране Разширете Метод и разширяване на разположение Accessor ако използвате новия синтаксис.

Подкрепа за лингвистични особености C # в Visual Studio и coderush за Рослин

Използвайте Expression тяло вече се предлага и в случаите, когато методът на тялото / akcessora не изпълнение и представят изключване предизвикателство. С изхвърляне-изразяване запис на такива техники може да го направи по-кратък и по-ясен:

Подкрепа за лингвистични особености C # в Visual Studio и coderush за Рослин

Друг случай, в който на тъча израз увеличава видимостта на кода - това е тройния оператор. Сега, ако / друго -vyrazhenie, в които, в зависимост от условията или хвърля изключение или възвръщаемост / получава стойност, можете да замените един израз с тройния оператор. Това ще ви помогне в рефакториране Компресиране на тройния Израз:

Подкрепа за лингвистични особености C # в Visual Studio и coderush за Рослин

Обратните рефакториране Разширяване на тройния Expression разбира се, също ще бъде на разположение при условия, с вкарване на изразяване:

Подкрепа за лингвистични особености C # в Visual Studio и coderush за Рослин

Модела съвпадение

Също така много мощен иновации, които, сигурен съм, вече е любимо на много потребители. Тя позволява на ако и случаи отчети, за да проверите, че променливата е обект на определен тип и след това да декларират променлива от този тип, като се избягва прекомерната леене. В случай, че даден оператор в допълнение към това можете да извърши допълнителни проверки, когато -vyrazhenii.

В този раздел, ние сме също така все още не осъзнават всичките си идеи. Като пример за това, което е вече там, produmonstriruem работа Декларирам характеристики клас в случай експресии, които използват новия синтаксис:

В този случай, CodeRush за Рослин правилно определя, че той използва тип шаблон, както и незабавно да обяви имот, когато се използва в -vyrazhenii. Нека сега отстраняване на грешки на даден метод същевременно въвеждане CodeRush Debug Visualizer:

Подкрепа за лингвистични особености C # в Visual Studio и coderush за Рослин

Когато дебъгер достигне ключ-оператор, Debug Visualizer изчислява израз във всички случаи -vetkah и показва кои от тях ще се извършва в този случай, което прави кода по-бледи останалите отрасли. Това прави код отстраняване на грешки по-интуитивен и лесен за употреба, показва какво код ще бъде изпълнена в следващата стъпка.

връзка Връщане

Вземете една комбинация от две вече познатите функции: Смарт връщане и да се установи, Метод и да видим как те ще работят в един метод, който се връща на следния линк:

Смарт Върни рамкирани изх дума, тъй като възвръщаемостта Декларацията съдържа лит-израз в този случай. Декларирам метод. определяне, когато методът е ползвано, лит-израз, правилно деклариран вид на връщане като изх вътр.

двоични литерали

Сега стойностите на някои константи в кода могат да бъдат определени с помощта на двоичен код. Това може да бъде полезно в обявите. CodeRush има функция, която ви позволява да се ускори и опрости задачата за добавяне на нов елемент в арсенала си - Смарт Duplicate Line. Просто натиснете Shift + Enter и CodeRush добавите нов елемент, подчертавайки текстовите полета са елементите, които изискват промени:

И обеща бонус

Малко хора знаят, но на ниво проект, можете да изберете език. CodeRush за Рослин счита опция Build | напреднали | Език Версия.

Подкрепа за лингвистични особености C # в Visual Studio и coderush за Рослин

Например, ако поставите C # 4.0, контекстното меню ще се промени, тъй като интерполацията на линии дойде в C # 6.0.

Подкрепа за лингвистични особености C # в Visual Studio и coderush за Рослин

Но ние не само се скрие менюто артикули, които не са подкрепени от състоянието, ние ще приложи пълна поддръжка на желания език за включително на нивото на генериране на код.

Например, ако проектът е на стойност версия на C # 6.0, членовете на установено, сравнение на менюто установено, генериране на код, както следва:

В C # 3.0, например, nameof () не е бил там, и кодът ще бъде:

Чрез използването на стандартен парсъри студио CodeRush за Рослин еднакво добре поддържан и новите C # функции и старите. CodeRush значително разширява възможностите на Visual Studio, без да го забавя. Това е особено забележимо в големите корпоративни проекти с голямо количество код.

Изтеглете опитайте CodeRush за Рослин на нашия уебсайт.

Свързани статии

Подкрепете проекта - споделете линка, благодаря!