# C#-understøttelse i Maguyva: Sikrere refaktorering til .NET-kodebaser

Canonical source: https://maguyva.ai/da/languages/csharp

License: text under [CC BY 4.0](https://creativecommons.org/licenses/by/4.0/); code samples under [MIT-0](https://opensource.org/license/mit-0); the Maguyva name, logos, brand assets and other code are not covered. Details: [maguyva.ai/license](https://maguyva.ai/license).

Maguyva understøtter C# med AST-parsing og symboludtræk, så AI-agenter kan arbejde på tværs af .NET-tjenester, LINQ-tung forretningslogik, delte biblioteker og langlivede enterprise-repositorier.

## Øjebliksbillede af understøttelse

- Niveau: AST- og symbolunderstøttelse
- Programmering
- Filendelser: .cs, .csx
- Rigtig AST-parsing til syntaksbevidst søgning og strukturel kontekst.
- Navngivne symboler understøtter semantisk opslag og krydsreferencer. Grafnavigation er tilgængelig, når relationsudtræk er aktiveret.
- Dette sprog bidrager med symboler og relationer til grafbaseret søgning; de understøttede kanttyper varierer med sprogets egne konstruktioner.
- Både AST-parsing og symboludtræk er tilgængelige.

## Bedst egnet til

- ASP.NET-, worker-service- og interne platformsrepositorier, der blander webendpoints, jobs og delte biblioteker.
- Teams, der vedligeholder modne .NET-bestande, hvor LINQ, async-flows og framework-abstraktioner skjuler den reelle eksekveringssti.
- Teams, der tester, om en agent kan forblive forankret i lagdelt .NET-kode, før forretningslogik omskrives.

## Agent-arbejdsgange

- Følg en sti gennem controller, service og repository, før forretningslogik redigeres.
- Undersøg hvor en model, DTO eller delt hjælpefunktion instantieres på tværs af repositoriet.
- Forstå de omgivende LINQ- eller async-mønstre, før agenten får lov til at omskrive noget som helst.

## Hvad der betyder noget i modne .NET-kodebaser

Mange teams, der bruger AI-værktøjer, lever i .NET, ikke i greenfield JavaScript. De har API'er, worker-processer, delte modeller, interne biblioteker og års forretningslogik. Spørgsmålet er ikke, om en LLM kan generere C#-syntaks. Spørgsmålet er, om den kan forblive forankret i et repository, hvor én forkert ændring kan brede sig gennem services, modeller og delte abstraktioner.

Derfor skal en C#-side være mere præcis end "understøttet."

## Hvad Maguyva rent faktisk udtrækker i C#

Maguyva normaliserer `using`-imports, fjerner nullable- og array-suffikser som `?` og `[]` fra definitioner og behandler konstruktørlignende kaldeknuder som instantieringer, mens vinkelparenteser omkring generiske typer fjernes. Det er nyttige detaljer i klassetunge C#-repositorier, fordi de gør grafen renere omkring de reelle domænetyper.

Konfigurationen filtrerer også en stor mængde BCL- og LINQ-støj fra. Det betyder mere, end det lyder som. I modne .NET-kodebaser er en graf domineret af framework-kald ikke særlig nyttig. Den nyttige graf er den, hvor repository-specifikke controllere, services, DTO'er og hjælpeklasser stadig træder tydeligt frem.

## Nyttige MCP-arbejdsgange til .NET-kodebaser

Det praktiske flow starter som regel med:

- `find_symbol`, når du kender navnet på controlleren, servicen, DTO'en eller modellen.
- `dependency_search`, før du redigerer en delt service eller type, der kan have mange kald fra andre dele af koden.
- `get_task_context` til prompts som "følg denne request fra controller til repository", når stien strækker sig over flere lag.

## Hvornår denne side er nyttig

Denne side er til teams, der ønsker AI-assistance inde i en reel .NET-kodebase, ikke bare et legetøjsprojekt. Hvis det omgivende system er mere JVM end .NET, så sammenlign med [Java](/da/languages/java). Hvis dit C#-lag kun er én del af et større polyglot-system, er den tilstødende [TypeScript](/da/languages/typescript)-side som regel også relevant.

## Motordetaljer

- `using`-præfikser normaliseres på imports, og nullable- eller array-suffikser som `?` og `[]` fjernes fra symboldefinitioner.
- Instantiering bruger call-noder med fjernelse af generiske parenteser, hvilket hjælper med at holde konstruktørlignende brug læsbar i grafen.
- Konfigurationen filtrerer eksplicit store mængder BCL- og LINQ-støj, så repo-specifikke services og modeller er lettere at fremhæve.

## Nyttige MCP-indgange

- `find_symbol`: Brug det, når du kender navnet på den controller, service, DTO eller delte type, du er ved at røre.
- `dependency_search`: Brug indgående traversering, før du retter en kerneservice eller model, der bruges på tværs af applikationen.
- `get_task_context`: Nyttigt til prompts som "følg denne forespørgsel fra controller til repository" i lagdelte .NET-kodebaser.
