.Net Community Toolkit 8.1: hogere snelheid van MVVM-broncodegeneratoren

.Net Community Toolkit 8.1: hogere snelheid van MVVM-broncodegeneratoren

Microsoft heeft officieel versie 8.1 van de .Net Community Toolkit uitgebracht. Naast aanpassingen aan .NET 7 en C# 11, evenals een aantal verbeteringen en bugfixes, biedt de nieuwe versie ook functionaliteit waar de ontwikkelaarsgemeenschap lang op heeft gewacht, zoals door de gebruiker gedefinieerde thema’s voor [ObservableProperty]. Bovendien zouden volgens de aankondiging broncodegeneratoren voor de MVVM Toolkit (Model ViewModel) “aanzienlijk” betere prestaties moeten bieden.

Een van de meest gevraagde functies van de .Net Community Toolkit door ontwikkelaars zijn de aangepaste eigenschapstags voor .Net Community Toolkit [ObservableProperty]. Voorheen konden ze alleen handmatig worden ingesteld voor de broncodegenerator van de MVVM-toolkit. Om de functie in de nieuwe versie te implementeren, heeft het Microsoft-team besloten om de huidige versie te gebruiken propertyGebruik de C#-syntaxis. Dit opent de mogelijkheid om attributen te taggen die worden overgedragen naar de gegenereerde eigenschappen zonder extra attributen in te voeren. Het gebruik van C#-syntaxis elimineerde ook alle problemen met declaratieve attributen, die alleen eigenschappen kunnen targeten en geen velden.

Aangepaste attributen kunnen nu als volgt worden ingesteld nadat de toolkit is bijgewerkt:

[ObservableProperty]
[property: JsonPropertyName("responseName")]
[property: JsonRequired]
private string? _name;

Uit deze code wordt vervolgens de volgende eigenschap gegenereerd:

[JsonPropertyName("responseName")]
[JsonRequired]
public string? Name
{
    get => _name;
    set
    {
        if (!EqualityComparer<string?>.Default.Equals(_name, value))
        {
            OnPropertyChanging("Name");
            OnNameChanging(value);

            _name = value;

            OnPropertyChanged("Name");
            OnNameChanged(value);
        }
    }
}

partial void OnNameChanging(string? value);
partial void OnNameChanged(string? value);

Versie 8.1 van de .Net Community Toolkit biedt ontwikkelaars meer gerichte ondersteuning om het gebruik van de MVVM-toolkit te verbeteren. In plaats van alleen maar hints te geven over verkeerd gebruikte functies die daarom tot een fout kunnen leiden, zijn er nu aangepaste analysetools beschikbaar. Hun doel is om gerichte aanbevelingen te doen voor codeverbetering en hoe veelvoorkomende fouten kunnen worden vermeden.

READ  t3n - Digitale pioniers | Het tijdschrift voor digitaal zakendoen

In samenwerking met het Roslyn-team hebben de toolkit-ontwikkelaars een aantal optimalisatiemaatregelen geïnitieerd die moeten helpen om MVVM-broncodegeneratoren beter te laten presteren. Onder andere zijn matching attribute generators gemigreerd naar de nieuwe, hogere Roslyn API. Generatoren die draaien via specifieke attributen – vb [ObservableProperty].

Om de totale geheugentoewijzing te verminderen, zijn alle aanvullende modellen en pijplijnen herzien. Ook heeft het team vrijwel alle diagnostiek uitbesteed aan Diagnostic Analysis Tools. Deze processen lopen onafhankelijk en onafhankelijk van de broncodegeneratoren, zodat de invoeroverhead wordt verminderd.

Lees meer over de verbeteringen in .Net Community Toolkit 8.1 inclusief volledige ondersteuning voor .Net 7 en C# 11 Leidende blogpost het einde. Overzicht van alle wijzigingen Het is te vinden in de changelog op github.


(een kaart)

naar de homepage

Geef een reactie

Het e-mailadres wordt niet gepubliceerd. Vereiste velden zijn gemarkeerd met *