Sobes.tech
Middle+

Jakie korzyści oferuje wersja C# 12?

sobes.tech AI

Odpowiedź od AI

  • Jednorazowe wyrażenia lambda (konstruktorów głównych)
  • Wyrażenie typeof do uzyskania typu tablicy inline
  • Przechwytywacze (Interceptors) - funkcja eksperymentalna, do przechwytywania wywołań metod i ich podstawiania na etapie kompilacji.
// Konstruktor główny w C# 12
public class MyClass(int param1, string param2)
{
    // Parametry konstruktora są dostępne w ciele klasy
    public int Property1 { get; } = param1;
    public string Property2 { get; } = param2;
}

// Użycie
var instance = new MyClass(10, "hello");
// typeof dla inline-tablic w C# 12
[System.Runtime.CompilerServices.InlineArray(10)]
public struct MyInlineArray<T>
{
    private T _element0; // Nazwa nie ma znaczenia
}

// typeof(MyInlineArray<int>) zwróci System.Runtime.CompilerServices.InlineArray<int>
// typeof(MyInlineArray<int>[0]) zwróci System.Int32
Console.WriteLine(typeof(MyInlineArray<int>));
Console.WriteLine(typeof(MyInlineArray<int>[0]));