2017-05-07 18 views
5

Czy ktoś może mi powiedzieć, co VisualStudio 2017 próbuje mi powiedzieć z tą szarą wielokropkiem poniżej słowa kluczowego?Visual Elite Visual Basic 2012 poniżej słowa kluczowego

Ani umieszczenie myszki nad nim, ani kliknięcie prawym przyciskiem myszy nie powie mi, dlaczego jest tam ten symbol.

VisualStudio2017 code image (szary wielokropek poniżej „TValue” w pierwszym wierszu metody)

+0

może ta wartość nie została zainicjowana i użyta jako parametr wyjściowy? –

Odpowiedz

3

Ukryta tam sugestia/refaktoryzacja informująca, że ​​to, co napisałeś, może być napisane w innej formie przy zachowaniu tej samej funkcjonalności.

Till C# 7 tj VS 2017, był to sposób na piśmie, ale z C# 7 inline outs można je zmniejszyć do

return TryGetValue(key, out TValue value) ? value : defaultValue; 

Można również zadeklarować var co nie było możliwe wcześniej. Więc można napisać to jako

return TryGetValue(key, out var value) ? value : defaultValue; 

Jak osiągnąć ten

Take kursor ... i widzi tę sugestię na dwa sposoby

  1. Naciśnij Ctrl + .
    LUB
  2. Pojawi się żarówka Roslyn, którą można kliknąć i opuścić zaproponuje ci to samo.
3

Jest to wskazówka. Ustaw na nim kursor, daj mu sekundę lub dwie, a zobaczysz żarówkę Roslyn.

W tym przypadku, to prawdopodobnie próbuje pokazać, że C# składni 7 pozwoli Ci się zadeklarować zmienne inline:

this.TryGetValue(key, out TValue value) ? value : defaultValue; 
+0

Czy nie byłaby to "wartość telewizyjna"? Oczywiście, jest to funkcja, której nie wiedziałem, że potrzebowałem. Czyni to, moim zdaniem, kod * mniej * czytelny. –

+0

@Cody Grey, masz rację, dzięki za połów. –

0

Jest to wskazówka refaktoryzacji.

Można użyć akcji View.QuickActions (domyślny skrót klawiaturowy: ctrl + .), gdy karetka znajduje się nad wielokropkiem, aby zobaczyć, jakie opcje są dostępne.

Powiązane problemy