diff --git a/src/Microsoft.PowerShell.Commands.Utility/commands/utility/AddType.cs b/src/Microsoft.PowerShell.Commands.Utility/commands/utility/AddType.cs
index 8876ede015..5d498c3e83 100644
--- a/src/Microsoft.PowerShell.Commands.Utility/commands/utility/AddType.cs
+++ b/src/Microsoft.PowerShell.Commands.Utility/commands/utility/AddType.cs
@@ -48,6 +48,11 @@ namespace Microsoft.PowerShell.Commands
CSharp,
#if CORECLR
+ ///
+ /// The C# programming language v7
+ ///
+ CSharpVersion7,
+
///
/// The C# programming language v6
///
@@ -633,6 +638,7 @@ namespace Microsoft.PowerShell.Commands
case Language.CSharpVersion4:
case Language.CSharpVersion5:
case Language.CSharpVersion6:
+ case Language.CSharpVersion7:
#endif
return true;
default:
@@ -1217,6 +1223,9 @@ namespace Microsoft.PowerShell.Commands
case Language.CSharpVersion6:
parseOptions = new CSharpParseOptions(LanguageVersion.CSharp6);
break;
+ case Language.CSharpVersion7:
+ parseOptions = new CSharpParseOptions(LanguageVersion.CSharp7);
+ break;
case Language.CSharp:
parseOptions = new CSharpParseOptions();
break;
diff --git a/test/powershell/Modules/Microsoft.PowerShell.Utility/Add-Type.Tests.ps1 b/test/powershell/Modules/Microsoft.PowerShell.Utility/Add-Type.Tests.ps1
index 5b4b7d7d6e..e4efeb10f3 100644
--- a/test/powershell/Modules/Microsoft.PowerShell.Utility/Add-Type.Tests.ps1
+++ b/test/powershell/Modules/Microsoft.PowerShell.Utility/Add-Type.Tests.ps1
@@ -1,6 +1,10 @@
$guid = [Guid]::NewGuid().ToString().Replace("-","")
Describe "Add-Type" -Tags "CI" {
+ It "Public 'Language' enumeration contains all members" {
+ [Enum]::GetNames("Microsoft.PowerShell.Commands.Language") -join "," | Should Be "CSharp,CSharpVersion7,CSharpVersion6,CSharpVersion5,CSharpVersion4,CSharpVersion3,CSharpVersion2,CSharpVersion1,VisualBasic,JScript"
+ }
+
It "Should not throw given a simple class definition" {
{ Add-Type -TypeDefinition "public static class foo { }" } | Should Not Throw
}