Hopp til innhold
cd /languages
Langvarig .NETProgrammeringFull grafstøtte

C#-støtte i Maguyva: Tryggere refaktorering for .NET-kodebaser

Maguyva støtter C# med AST-parsing og symbolutvinning, slik at AI-agenter kan jobbe på tvers av .NET-tjenester, LINQ-tung forretningslogikk, delte biblioteker og langvarige bedriftsrepositorier.

Hva som betyr noe i modne .NET-kodebaser

Mange team som bruker AI-verktøy, holder til i .NET, ikke i grønn eng-JavaScript. De har API-er, worker-prosesser, delte modeller, interne biblioteker og år med forretningslogikk. Spørsmålet er ikke om en LLM kan produsere C#-syntaks. Spørsmålet er om den kan holde seg forankret inne i et repositorium der én feil endring kan forplante seg gjennom tjenester, modeller og delte abstraksjoner.

Derfor må en C#-side være mer spesifikk enn «støttet».

Hva Maguyva faktisk trekker ut i C#

Maguyva normaliserer using-importer, fjerner nullable- og array-suffikser som ? og [] fra definisjoner, og behandler konstruktørlignende kallnoder som instansieringer samtidig som generiske klammer fjernes. Dette er nyttige detaljer i klassetunge C#-repositorier fordi de gjør grafen renere rundt de faktiske domenetypene.

Konfigurasjonen filtrerer også bort mye BCL- og LINQ-støy. Det betyr mer enn det høres ut som. I modne .NET-kodebaser er ikke en graf dominert av rammeverkskall særlig nyttig. Den nyttige grafen er den der repositoriespesifikke controllere, tjenester, DTO-er og hjelpeklasser fortsatt skiller seg ut.

Nyttige MCP-arbeidsflyter for .NET-kodebaser

Den praktiske flyten starter som regel med:

  • find_symbol når du kjenner navnet på controlleren, tjenesten, DTO-en eller modellen.
  • dependency_search før du redigerer en delt tjeneste eller type som kan ha utstrakt innkommende bruk.
  • get_task_context for spørringer som «følg denne forespørselen fra controller til repository» når stien strekker seg over flere lag.

Når denne siden er nyttig

Denne siden er for team som ønsker AI-assistanse inne i en ekte .NET-kodebase, ikke bare et lekeprosjekt. Hvis systemet rundt er mer JVM enn .NET, sammenlign med Java. Hvis C#-laget ditt bare er én del av et større flerspråklig system, er den tilstøtende siden om TypeScript som regel også relevant.

Best egnet

  • >ASP.NET-, worker-service- og interne plattformrepositorier som blander web-endepunkter, jobber og delte biblioteker.
  • >Team som vedlikeholder modne .NET-porteføljer der LINQ, asynkrone flyter og rammeverksabstraksjoner skjuler den faktiske kjøringsstien.
  • >Team som tester om en agent kan holde seg forankret i lagdelt .NET-kode før forretningslogikk skrives om.

Agent-arbeidsflyter

  • >Følg en controller-, tjeneste- og repository-sti før du redigerer forretningslogikk.
  • >Undersøk hvor en modell, DTO eller delt hjelpefunksjon instansieres på tvers av repositoriet.
  • >Forstå omkringliggende LINQ- eller async-mønstre før du lar agenten skrive om noe.

Motordetaljer

  • >`using`-prefikser normaliseres på imports, og nullbare eller array-suffikser som `?` og `[]` fjernes fra symboldefinisjoner.
  • >Instansiering bruker kall-noder med fjerning av generiske klammer, noe som hjelper å holde konstruktørlignende bruk lesbar i grafen.
  • >Konfigurasjonen filtrerer eksplisitt bort store mengder BCL- og LINQ-støy, slik at repospesifikke tjenester og modeller er lettere å finne fram til.

Nyttige MCP-inngangspunkter

  • find_symbol

    Bruk det når du kjenner navnet på controlleren, tjenesten, DTO-en eller den delte typen du er i ferd med å røre.

  • dependency_search

    Bruk innkommende traversering før du redigerer en kjernetjeneste eller modell som brukes på tvers av applikasjonen.

  • get_task_context

    Nyttig for prompter som «følg denne forespørselen fra controller til repository» i lagdelte .NET-kodebaser.