diff --git a/src/VisualStudio/Core/Def/Implementation/ChangeSignature/AddParameterDialog.xaml b/src/VisualStudio/Core/Def/Implementation/ChangeSignature/AddParameterDialog.xaml
index ea935320b78710ae133b9d3c5eb09d9219163db5..888cb0cc556af4464d3287137ecb3e14a36677ca 100644
--- a/src/VisualStudio/Core/Def/Implementation/ChangeSignature/AddParameterDialog.xaml
+++ b/src/VisualStudio/Core/Def/Implementation/ChangeSignature/AddParameterDialog.xaml
@@ -6,6 +6,8 @@
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:vs="clr-namespace:Microsoft.VisualStudio.PlatformUI;assembly=Microsoft.VisualStudio.Shell.15.0"
+ xmlns:imaging="clr-namespace:Microsoft.VisualStudio.Imaging;assembly=Microsoft.VisualStudio.Imaging"
+ xmlns:imagecatalog="clr-namespace:Microsoft.VisualStudio.Imaging;assembly=Microsoft.VisualStudio.ImageCatalog"
Width="600"
MinWidth="600"
SizeToContent="Height"
@@ -36,21 +38,31 @@
+
-
+
+
+
+
+
+
+
+
-
-
-
+
+
+
@@ -58,8 +70,8 @@
-
-
+
+
@@ -72,8 +84,8 @@
-
-
+
+ _dialog.CancelButton;
}
+
+ private void TypeContentControl_TextChanged(object sender, System.Windows.Controls.TextChangedEventArgs e)
+ {
+ _viewModel.SetCurrentTextAndUpdateBindingStatus(TypeContentControl.Text);
+ }
}
}
diff --git a/src/VisualStudio/Core/Def/Implementation/ChangeSignature/AddParameterDialogViewModel.cs b/src/VisualStudio/Core/Def/Implementation/ChangeSignature/AddParameterDialogViewModel.cs
index e20e8d7a76c74741f86c0f04a8ab38c2aa06e450..268754a27796ba707ce5f6e1532a93a29415523d 100644
--- a/src/VisualStudio/Core/Def/Implementation/ChangeSignature/AddParameterDialogViewModel.cs
+++ b/src/VisualStudio/Core/Def/Implementation/ChangeSignature/AddParameterDialogViewModel.cs
@@ -5,11 +5,13 @@
#nullable enable
using System.Threading;
+using System.Windows;
using Microsoft.CodeAnalysis;
using Microsoft.CodeAnalysis.LanguageServices;
using Microsoft.CodeAnalysis.Notification;
using Microsoft.CodeAnalysis.Shared.Extensions;
using Microsoft.VisualStudio.LanguageServices.Implementation.Utilities;
+using Microsoft.VisualStudio.Utilities.Internal;
using Roslyn.Utilities;
namespace Microsoft.VisualStudio.LanguageServices.Implementation.ChangeSignature
@@ -28,6 +30,12 @@ public AddParameterDialogViewModel(Document document, int insertPosition)
_notificationService = document.Project.Solution.Workspace.Services.GetService();
_semanticModel = document.GetRequiredSemanticModelAsync(CancellationToken.None).WaitAndGetResult(CancellationToken.None);
+ TypeIsEmptyImage = Visibility.Visible;
+ TypeBindsImage = Visibility.Collapsed;
+ TypeDoesNotParseImage = Visibility.Collapsed;
+ TypeDoesNotBindImage = Visibility.Collapsed;
+ TypeBindsDynamicStatus = ServicesVSResources.Please_enter_a_type_name;
+
Document = document;
InsertPosition = insertPosition;
ParameterName = string.Empty;
@@ -70,7 +78,7 @@ internal void UpdateTypeSymbol(string typeName)
TypeSymbol = _semanticModel.GetSpeculativeTypeInfo(InsertPosition, languageService.GetTypeNode(typeName), SpeculativeBindingOption.BindAsTypeOrNamespace).Type;
}
- internal bool TrySubmit(Document document)
+ internal bool TrySubmit()
{
if (string.IsNullOrEmpty(_verbatimTypeName) || string.IsNullOrEmpty(ParameterName))
{
@@ -78,13 +86,13 @@ internal bool TrySubmit(Document document)
return false;
}
- if (!IsParameterTypeValid(_verbatimTypeName, document))
+ if (!IsParameterTypeSyntacticallyValid(_verbatimTypeName))
{
SendFailureNotification(ServicesVSResources.Parameter_type_contains_invalid_characters);
return false;
}
- if (!IsParameterNameValid(ParameterName, document))
+ if (!IsParameterNameValid(ParameterName))
{
SendFailureNotification(ServicesVSResources.Parameter_name_contains_invalid_characters);
return false;
@@ -98,15 +106,89 @@ private void SendFailureNotification(string message)
_notificationService?.SendNotification(message, severity: NotificationSeverity.Information);
}
- private bool IsParameterTypeValid(string typeName, Document document)
+ internal void SetCurrentTextAndUpdateBindingStatus(string typeName)
{
- var languageService = document.GetRequiredLanguageService();
+ if (typeName.IsNullOrWhiteSpace())
+ {
+ TypeIsEmptyImage = Visibility.Visible;
+ TypeDoesNotParseImage = Visibility.Collapsed;
+ TypeDoesNotBindImage = Visibility.Collapsed;
+ TypeBindsImage = Visibility.Collapsed;
+ TypeBindsDynamicStatus = ServicesVSResources.Please_enter_a_type_name;
+ }
+ else
+ {
+ TypeIsEmptyImage = Visibility.Collapsed;
+
+ var languageService = Document.GetRequiredLanguageService();
+ var type = _semanticModel.GetSpeculativeTypeInfo(InsertPosition, languageService.GetTypeNode(typeName), SpeculativeBindingOption.BindAsTypeOrNamespace).Type;
+
+ var typeParses = IsParameterTypeSyntacticallyValid(typeName);
+ if (!typeParses)
+ {
+ TypeDoesNotParseImage = Visibility.Visible;
+ TypeDoesNotBindImage = Visibility.Collapsed;
+ TypeBindsImage = Visibility.Collapsed;
+ TypeBindsDynamicStatus = ServicesVSResources.Type_name_does_not_parse_correctly;
+ }
+ else
+ {
+ var parameterTypeBinds = DoesTypeFullyBind(type);
+ TypeDoesNotParseImage = Visibility.Collapsed;
+
+ TypeBindsImage = parameterTypeBinds ? Visibility.Visible : Visibility.Collapsed;
+ TypeDoesNotBindImage = !parameterTypeBinds ? Visibility.Visible : Visibility.Collapsed;
+ TypeBindsDynamicStatus = parameterTypeBinds
+ ? ServicesVSResources.Type_name_parses_correctly_and_is_recognized
+ : ServicesVSResources.Type_name_parses_correctly_but_is_not_recognized;
+ }
+ }
+
+ NotifyPropertyChanged(nameof(TypeBindsDynamicStatus));
+ NotifyPropertyChanged(nameof(TypeBindsImage));
+ NotifyPropertyChanged(nameof(TypeDoesNotBindImage));
+ NotifyPropertyChanged(nameof(TypeDoesNotParseImage));
+ NotifyPropertyChanged(nameof(TypeIsEmptyImage));
+ }
+
+ private bool IsParameterTypeSyntacticallyValid(string typeName)
+ {
+ var languageService = Document.GetRequiredLanguageService();
return languageService.IsTypeNameValid(typeName);
}
- private bool IsParameterNameValid(string identifierName, Document document)
+ private bool DoesTypeFullyBind(ITypeSymbol? type)
+ {
+ if (type == null || type.IsErrorType())
+ {
+ return false;
+ }
+
+ foreach (var typeArgument in type.GetTypeArguments())
+ {
+ if (typeArgument is ITypeParameterSymbol)
+ {
+ return false;
+ }
+
+ if (!DoesTypeFullyBind(typeArgument))
+ {
+ return false;
+ }
+ }
+
+ return true;
+ }
+
+ public string? TypeBindsDynamicStatus { get; set; }
+ public Visibility TypeBindsImage { get; set; }
+ public Visibility TypeDoesNotBindImage { get; set; }
+ public Visibility TypeDoesNotParseImage { get; set; }
+ public Visibility TypeIsEmptyImage { get; set; }
+
+ private bool IsParameterNameValid(string identifierName)
{
- var languageService = document.GetRequiredLanguageService();
+ var languageService = Document.GetRequiredLanguageService();
return languageService.IsValidIdentifier(identifierName);
}
}
diff --git a/src/VisualStudio/Core/Def/ServicesVSResources.resx b/src/VisualStudio/Core/Def/ServicesVSResources.resx
index 6b6c69b662edae93cc45d7ba8c6bdc5a63165d55..74e9515fc1f85c5235acbdc7b714cad2221906fd 100644
--- a/src/VisualStudio/Core/Def/ServicesVSResources.resx
+++ b/src/VisualStudio/Core/Def/ServicesVSResources.resx
@@ -1453,4 +1453,20 @@ I agree to all of the foregoing:
Razor C# Language Server Client
+
+ Type name does not parse correctly
+ "Type" is the programming language concept
+
+
+ Type name parses correctly and is recognized
+ "Type" is the programming language concept
+
+
+ Type name parses correctly but is not recognized
+ "Type" is the programming language concept
+
+
+ Please enter a type name
+ "Type" is the programming language concept
+
\ No newline at end of file
diff --git a/src/VisualStudio/Core/Def/xlf/ServicesVSResources.cs.xlf b/src/VisualStudio/Core/Def/xlf/ServicesVSResources.cs.xlf
index b1ed845c26b63c699c3ac1b737be49400a9d6c71..6da37764cfd35626310a2b01c212d1e737f2731a 100644
--- a/src/VisualStudio/Core/Def/xlf/ServicesVSResources.cs.xlf
+++ b/src/VisualStudio/Core/Def/xlf/ServicesVSResources.cs.xlf
@@ -487,6 +487,11 @@
Pozastaveno (počet úloh ve frontě: {0})
+
+ Please enter a type name
+ Please enter a type name
+ "Type" is the programming language concept
+ Prefer 'System.HashCode' in 'GetHashCode'Upřednostňovat System.HashCode v GetHashCode
@@ -657,6 +662,21 @@
Type name:
+
+ Type name does not parse correctly
+ Type name does not parse correctly
+ "Type" is the programming language concept
+
+
+ Type name parses correctly and is recognized
+ Type name parses correctly and is recognized
+ "Type" is the programming language concept
+
+
+ Type name parses correctly but is not recognized
+ Type name parses correctly but is not recognized
+ "Type" is the programming language concept
+ Unused value is explicitly assigned to an unused localNepoužitá hodnota se explicitně přiřadí nepoužité lokální hodnotě.
diff --git a/src/VisualStudio/Core/Def/xlf/ServicesVSResources.de.xlf b/src/VisualStudio/Core/Def/xlf/ServicesVSResources.de.xlf
index b9a339779e905993f7777ebb0d73454c1c285146..37db312cc1e182345b1ed19ffc7958ee1ecf2a8a 100644
--- a/src/VisualStudio/Core/Def/xlf/ServicesVSResources.de.xlf
+++ b/src/VisualStudio/Core/Def/xlf/ServicesVSResources.de.xlf
@@ -487,6 +487,11 @@
Angehalten ({0} Tasks in der Warteschlange)
+
+ Please enter a type name
+ Please enter a type name
+ "Type" is the programming language concept
+ Prefer 'System.HashCode' in 'GetHashCode'"System.HashCode" in "GetHashCode" bevorzugen
@@ -657,6 +662,21 @@
Type name:
+
+ Type name does not parse correctly
+ Type name does not parse correctly
+ "Type" is the programming language concept
+
+
+ Type name parses correctly and is recognized
+ Type name parses correctly and is recognized
+ "Type" is the programming language concept
+
+
+ Type name parses correctly but is not recognized
+ Type name parses correctly but is not recognized
+ "Type" is the programming language concept
+ Unused value is explicitly assigned to an unused localDer nicht verwendete Wert wird explizit einer nicht verwendeten lokalen Variablen zugewiesen.
diff --git a/src/VisualStudio/Core/Def/xlf/ServicesVSResources.es.xlf b/src/VisualStudio/Core/Def/xlf/ServicesVSResources.es.xlf
index 9cc0f3d9aebfacca95767eb26f3e792a19d63c6f..82ed2983fbdff476adaf70bcf6ba3d04305f2c1f 100644
--- a/src/VisualStudio/Core/Def/xlf/ServicesVSResources.es.xlf
+++ b/src/VisualStudio/Core/Def/xlf/ServicesVSResources.es.xlf
@@ -487,6 +487,11 @@
En pausa ({0} tareas en cola)
+
+ Please enter a type name
+ Please enter a type name
+ "Type" is the programming language concept
+ Prefer 'System.HashCode' in 'GetHashCode'Preferir "System.HashCode" en "GetHashCode"
@@ -657,6 +662,21 @@
Type name:
+
+ Type name does not parse correctly
+ Type name does not parse correctly
+ "Type" is the programming language concept
+
+
+ Type name parses correctly and is recognized
+ Type name parses correctly and is recognized
+ "Type" is the programming language concept
+
+
+ Type name parses correctly but is not recognized
+ Type name parses correctly but is not recognized
+ "Type" is the programming language concept
+ Unused value is explicitly assigned to an unused localEl valor sin usar se asigna explícitamente a una variable local sin usar
diff --git a/src/VisualStudio/Core/Def/xlf/ServicesVSResources.fr.xlf b/src/VisualStudio/Core/Def/xlf/ServicesVSResources.fr.xlf
index 40c50c37a1e37870b1c21b24d6c28618b4cbb22b..964bd119a1a3f256917d02cdd6ffaf504504634c 100644
--- a/src/VisualStudio/Core/Def/xlf/ServicesVSResources.fr.xlf
+++ b/src/VisualStudio/Core/Def/xlf/ServicesVSResources.fr.xlf
@@ -487,6 +487,11 @@
Suspendu ({0} tâches en file d'attente)
+
+ Please enter a type name
+ Please enter a type name
+ "Type" is the programming language concept
+ Prefer 'System.HashCode' in 'GetHashCode'Préférer 'System.HashCode' dans 'GetHashCode'
@@ -657,6 +662,21 @@
Type name:
+
+ Type name does not parse correctly
+ Type name does not parse correctly
+ "Type" is the programming language concept
+
+
+ Type name parses correctly and is recognized
+ Type name parses correctly and is recognized
+ "Type" is the programming language concept
+
+
+ Type name parses correctly but is not recognized
+ Type name parses correctly but is not recognized
+ "Type" is the programming language concept
+ Unused value is explicitly assigned to an unused localLa valeur inutilisée est explicitement affectée à une variable locale inutilisée
diff --git a/src/VisualStudio/Core/Def/xlf/ServicesVSResources.it.xlf b/src/VisualStudio/Core/Def/xlf/ServicesVSResources.it.xlf
index 092bcdf0d6f3dc73772aff3819f7b01d9fb02faf..50327796de023d42a4e3661c3b557d6dafc025a3 100644
--- a/src/VisualStudio/Core/Def/xlf/ServicesVSResources.it.xlf
+++ b/src/VisualStudio/Core/Def/xlf/ServicesVSResources.it.xlf
@@ -487,6 +487,11 @@
Sospeso ({0} attività in coda)
+
+ Please enter a type name
+ Please enter a type name
+ "Type" is the programming language concept
+ Prefer 'System.HashCode' in 'GetHashCode'Preferisci 'System.HashCode' in 'GetHashCode'
@@ -657,6 +662,21 @@
Type name:
+
+ Type name does not parse correctly
+ Type name does not parse correctly
+ "Type" is the programming language concept
+
+
+ Type name parses correctly and is recognized
+ Type name parses correctly and is recognized
+ "Type" is the programming language concept
+
+
+ Type name parses correctly but is not recognized
+ Type name parses correctly but is not recognized
+ "Type" is the programming language concept
+ Unused value is explicitly assigned to an unused localIl valore inutilizzato viene assegnato in modo esplicito a una variabile locale inutilizzata
diff --git a/src/VisualStudio/Core/Def/xlf/ServicesVSResources.ja.xlf b/src/VisualStudio/Core/Def/xlf/ServicesVSResources.ja.xlf
index 5859d0000c7e718bf7dd12560151253eef951a2a..e4055c2fa822eecedc866982466bf7d81c9f906b 100644
--- a/src/VisualStudio/Core/Def/xlf/ServicesVSResources.ja.xlf
+++ b/src/VisualStudio/Core/Def/xlf/ServicesVSResources.ja.xlf
@@ -487,6 +487,11 @@
一時停止中 ({0} 個のタスクがキューにあります)
+
+ Please enter a type name
+ Please enter a type name
+ "Type" is the programming language concept
+ Prefer 'System.HashCode' in 'GetHashCode''GetHashCode' の 'System.HashCode' を優先する
@@ -657,6 +662,21 @@
Type name:
+
+ Type name does not parse correctly
+ Type name does not parse correctly
+ "Type" is the programming language concept
+
+
+ Type name parses correctly and is recognized
+ Type name parses correctly and is recognized
+ "Type" is the programming language concept
+
+
+ Type name parses correctly but is not recognized
+ Type name parses correctly but is not recognized
+ "Type" is the programming language concept
+ Unused value is explicitly assigned to an unused local未使用のローカルに未使用の値が明示的に割り当てられます
diff --git a/src/VisualStudio/Core/Def/xlf/ServicesVSResources.ko.xlf b/src/VisualStudio/Core/Def/xlf/ServicesVSResources.ko.xlf
index 2357b059c07eccf59d5c72f74ffe2956c4cd61e6..85d206abe7a8b3903cf403889bc379d84c28239b 100644
--- a/src/VisualStudio/Core/Def/xlf/ServicesVSResources.ko.xlf
+++ b/src/VisualStudio/Core/Def/xlf/ServicesVSResources.ko.xlf
@@ -487,6 +487,11 @@
일시 중지됨(큐의 {0}개 작업)
+
+ Please enter a type name
+ Please enter a type name
+ "Type" is the programming language concept
+ Prefer 'System.HashCode' in 'GetHashCode''GetHashCode'에서 'System.HashCode' 선호
@@ -657,6 +662,21 @@
Type name:
+
+ Type name does not parse correctly
+ Type name does not parse correctly
+ "Type" is the programming language concept
+
+
+ Type name parses correctly and is recognized
+ Type name parses correctly and is recognized
+ "Type" is the programming language concept
+
+
+ Type name parses correctly but is not recognized
+ Type name parses correctly but is not recognized
+ "Type" is the programming language concept
+ Unused value is explicitly assigned to an unused local사용되지 않는 값이 사용되지 않는 로컬에 명시적으로 할당됩니다.
diff --git a/src/VisualStudio/Core/Def/xlf/ServicesVSResources.pl.xlf b/src/VisualStudio/Core/Def/xlf/ServicesVSResources.pl.xlf
index 78b162199b530231f8657216637e126159001444..730eb2fb264d94712bbbe8326f847a25378b9d3b 100644
--- a/src/VisualStudio/Core/Def/xlf/ServicesVSResources.pl.xlf
+++ b/src/VisualStudio/Core/Def/xlf/ServicesVSResources.pl.xlf
@@ -487,6 +487,11 @@
Wstrzymano (zadania w kolejce: {0})
+
+ Please enter a type name
+ Please enter a type name
+ "Type" is the programming language concept
+ Prefer 'System.HashCode' in 'GetHashCode'Preferuj element „System.HashCode” w metodzie „GetHashCode”
@@ -657,6 +662,21 @@
Type name:
+
+ Type name does not parse correctly
+ Type name does not parse correctly
+ "Type" is the programming language concept
+
+
+ Type name parses correctly and is recognized
+ Type name parses correctly and is recognized
+ "Type" is the programming language concept
+
+
+ Type name parses correctly but is not recognized
+ Type name parses correctly but is not recognized
+ "Type" is the programming language concept
+ Unused value is explicitly assigned to an unused localNieużywana wartość jest jawnie przypisywana do nieużywanej zmiennej lokalnej
diff --git a/src/VisualStudio/Core/Def/xlf/ServicesVSResources.pt-BR.xlf b/src/VisualStudio/Core/Def/xlf/ServicesVSResources.pt-BR.xlf
index 81a1572f45b0e99fb431f0b223a5d00999f54f80..4057cad41ac172e5101aa08a676504719a37a598 100644
--- a/src/VisualStudio/Core/Def/xlf/ServicesVSResources.pt-BR.xlf
+++ b/src/VisualStudio/Core/Def/xlf/ServicesVSResources.pt-BR.xlf
@@ -487,6 +487,11 @@
Em pausa ({0} tarefas na fila)
+
+ Please enter a type name
+ Please enter a type name
+ "Type" is the programming language concept
+ Prefer 'System.HashCode' in 'GetHashCode'Prefira 'System.HashCode' em 'GetHashCode'
@@ -657,6 +662,21 @@
Type name:
+
+ Type name does not parse correctly
+ Type name does not parse correctly
+ "Type" is the programming language concept
+
+
+ Type name parses correctly and is recognized
+ Type name parses correctly and is recognized
+ "Type" is the programming language concept
+
+
+ Type name parses correctly but is not recognized
+ Type name parses correctly but is not recognized
+ "Type" is the programming language concept
+ Unused value is explicitly assigned to an unused localO valor não utilizado é explicitamente atribuído a um local não utilizado
diff --git a/src/VisualStudio/Core/Def/xlf/ServicesVSResources.ru.xlf b/src/VisualStudio/Core/Def/xlf/ServicesVSResources.ru.xlf
index 67d8d7f595d5f555eea3b3742cbc99d9e40b984e..e70b7d34ca082b2dbf661dc92b07a06123255222 100644
--- a/src/VisualStudio/Core/Def/xlf/ServicesVSResources.ru.xlf
+++ b/src/VisualStudio/Core/Def/xlf/ServicesVSResources.ru.xlf
@@ -487,6 +487,11 @@
Приостановлено (задач в очереди: {0})
+
+ Please enter a type name
+ Please enter a type name
+ "Type" is the programming language concept
+ Prefer 'System.HashCode' in 'GetHashCode'Предпочитать "System.HashCode" в "GetHashCode"
@@ -657,6 +662,21 @@
Type name:
+
+ Type name does not parse correctly
+ Type name does not parse correctly
+ "Type" is the programming language concept
+
+
+ Type name parses correctly and is recognized
+ Type name parses correctly and is recognized
+ "Type" is the programming language concept
+
+
+ Type name parses correctly but is not recognized
+ Type name parses correctly but is not recognized
+ "Type" is the programming language concept
+ Unused value is explicitly assigned to an unused localНеиспользуемое значение явным образом задано неиспользуемой локальной переменной.
diff --git a/src/VisualStudio/Core/Def/xlf/ServicesVSResources.tr.xlf b/src/VisualStudio/Core/Def/xlf/ServicesVSResources.tr.xlf
index 4f5643b205cc676fb18a0a56a960d3837722c652..93f64fd9b548538fd7d089b8735eb541b5b1d010 100644
--- a/src/VisualStudio/Core/Def/xlf/ServicesVSResources.tr.xlf
+++ b/src/VisualStudio/Core/Def/xlf/ServicesVSResources.tr.xlf
@@ -487,6 +487,11 @@
Duraklatıldı (kuyrukta {0} görev var)
+
+ Please enter a type name
+ Please enter a type name
+ "Type" is the programming language concept
+ Prefer 'System.HashCode' in 'GetHashCode''GetHashCode' içinde 'System.HashCode' tercih et
@@ -657,6 +662,21 @@
Type name:
+
+ Type name does not parse correctly
+ Type name does not parse correctly
+ "Type" is the programming language concept
+
+
+ Type name parses correctly and is recognized
+ Type name parses correctly and is recognized
+ "Type" is the programming language concept
+
+
+ Type name parses correctly but is not recognized
+ Type name parses correctly but is not recognized
+ "Type" is the programming language concept
+ Unused value is explicitly assigned to an unused localKullanılmayan değer açıkça kullanılmayan bir yerele atandı
diff --git a/src/VisualStudio/Core/Def/xlf/ServicesVSResources.zh-Hans.xlf b/src/VisualStudio/Core/Def/xlf/ServicesVSResources.zh-Hans.xlf
index 4f43dcba0bbc0bc3e360e0b98e5c03f69ca02822..1104291ec44d56b51acce87f5ee15463efd3b955 100644
--- a/src/VisualStudio/Core/Def/xlf/ServicesVSResources.zh-Hans.xlf
+++ b/src/VisualStudio/Core/Def/xlf/ServicesVSResources.zh-Hans.xlf
@@ -487,6 +487,11 @@
已暂停(队列中有 {0} 个任务)
+
+ Please enter a type name
+ Please enter a type name
+ "Type" is the programming language concept
+ Prefer 'System.HashCode' in 'GetHashCode'在 "GetHashCode" 中首选 "System.HashCode"
@@ -657,6 +662,21 @@
Type name:
+
+ Type name does not parse correctly
+ Type name does not parse correctly
+ "Type" is the programming language concept
+
+
+ Type name parses correctly and is recognized
+ Type name parses correctly and is recognized
+ "Type" is the programming language concept
+
+
+ Type name parses correctly but is not recognized
+ Type name parses correctly but is not recognized
+ "Type" is the programming language concept
+ Unused value is explicitly assigned to an unused local未使用的值会显式分配给未使用的本地函数
diff --git a/src/VisualStudio/Core/Def/xlf/ServicesVSResources.zh-Hant.xlf b/src/VisualStudio/Core/Def/xlf/ServicesVSResources.zh-Hant.xlf
index eba5df3eb8463c50aab3d289099158105f6fc0af..a7e7115532d29552711d23cd3cd961e87c537771 100644
--- a/src/VisualStudio/Core/Def/xlf/ServicesVSResources.zh-Hant.xlf
+++ b/src/VisualStudio/Core/Def/xlf/ServicesVSResources.zh-Hant.xlf
@@ -487,6 +487,11 @@
已暫停 (佇列中的 {0} 工作)
+
+ Please enter a type name
+ Please enter a type name
+ "Type" is the programming language concept
+ Prefer 'System.HashCode' in 'GetHashCode'建議在 'GetHashCode' 中使用 'System.HashCode'
@@ -657,6 +662,21 @@
Type name:
+
+ Type name does not parse correctly
+ Type name does not parse correctly
+ "Type" is the programming language concept
+
+
+ Type name parses correctly and is recognized
+ Type name parses correctly and is recognized
+ "Type" is the programming language concept
+
+
+ Type name parses correctly but is not recognized
+ Type name parses correctly but is not recognized
+ "Type" is the programming language concept
+ Unused value is explicitly assigned to an unused local未使用的值已明確指派至未使用的區域