Update LangVersion to C# 12.

Now that we have moved to net 8 from net 6, and with us no longer supporting the mono runtime, we can raise the C# version to match that supported by the net 8 runtime.

This unlocks C# 10, C# 11 and C# 12 features previously unavailable to us.
- https://learn.microsoft.com/en-us/dotnet/csharp/whats-new/csharp-version-history#c-version-10
- https://learn.microsoft.com/en-us/dotnet/csharp/whats-new/csharp-version-history#c-version-11
- https://learn.microsoft.com/en-us/dotnet/csharp/whats-new/csharp-version-history#c-version-12

A newer version of StyleCop is required to avoid rules tripping up on the new syntax.

Enable a handful of style rules that don't have many violations.
This commit is contained in:
RoosterDragon
2024-11-25 20:23:37 +00:00
committed by Gustas Kažukauskas
parent 39a7e477c6
commit 715d882456
12 changed files with 45 additions and 40 deletions

View File

@@ -204,7 +204,7 @@ namespace OpenRA.Scripting
runtime.Globals["MaxUserScriptInstructions"] = MaxUserScriptInstructions;
using (var fn = runtime.CreateFunctionFromDelegate((Action<string>)LogDebugMessage))
using (var fn = runtime.CreateFunctionFromDelegate(LogDebugMessage))
runtime.Globals["print"] = fn;
// Register global tables

View File

@@ -100,7 +100,7 @@ namespace OpenRA.Scripting
public LuaValue Get(LuaRuntime runtime)
{
if (IsMethod)
return runtime.CreateFunctionFromDelegate((Func<LuaVararg, LuaValue>)Invoke);
return runtime.CreateFunctionFromDelegate(Invoke);
if (IsGetProperty)
return ((PropertyInfo)Member).GetValue(Target, null).ToLuaValue(context);