# C#-ondersteuning in Maguyva: veiligere refactors voor .NET-codebases

Canonical source: https://maguyva.ai/nl/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 ondersteunt C# met AST-parsing en symboolextractie, zodat AI-agents kunnen werken binnen .NET-services, LINQ-zware bedrijfslogica, gedeelde libraries en langlopende enterprise-repositories.

## Ondersteuningsoverzicht

- Tier: AST- en symboolondersteuning
- Programmeren
- Extensies: .cs, .csx
- Echte AST-parsing voor syntaxbewust zoeken en structurele context.
- Benoemde symbolen voeden semantische lookup en kruisverwijzingen. Graafnavigatie is beschikbaar wanneer relatie-extractie is ingeschakeld.
- Deze taal draagt symbolen en relaties bij aan graafbewust zoeken; ondersteunde kanttypen variëren met de eigen constructies van de taal.
- Zowel AST-parsing als symboolextractie zijn beschikbaar.

## Beste toepassing

- ASP.NET-, worker-service- en interne platformrepositories die webeindpunten, jobs en gedeelde libraries combineren.
- Teams die volwassen .NET-landschappen onderhouden waar LINQ, async-flows en framework-abstracties het echte uitvoeringspad verbergen.
- Teams die testen of een agent onderbouwd kan blijven werken in gelaagde .NET-code voordat bedrijfslogica wordt herschreven.

## Agentworkflows

- Volg een pad van controller, service en repository voordat je bedrijfslogica bewerkt.
- Inspecteer waar een model, DTO of gedeelde utility door de hele repo wordt geïnstantieerd.
- Begrijp de omliggende LINQ- of async-patronen voordat je de agent iets laat herschrijven.

## Waar het om draait in volwassen .NET-codebases

Veel teams die AI-tooling gebruiken, werken in .NET, niet in greenfield JavaScript. Ze hebben API's, worker-processen, gedeelde modellen, interne libraries en jaren aan bedrijfslogica. De vraag is niet of een LLM C#-syntax kan genereren. De vraag is of het onderbouwd kan blijven binnen een repository waar één verkeerde wijziging kan doorwerken in services, modellen en gedeelde abstracties.

Daarom moet een C#-pagina specifieker zijn dan "ondersteund".

## Wat Maguyva daadwerkelijk extraheert in C#

Maguyva normaliseert `using`-imports, strippt nullable- en array-suffixen zoals `?` en `[]` uit definities, en behandelt constructor-achtige call-nodes als instantiaties terwijl generieke haakjes worden verwijderd. Dat zijn nuttige details in class-zware C#-repo's, omdat ze de graaf overzichtelijker maken rond echte domeintypes.

De configuratie filtert ook veel BCL- en LINQ-ruis weg. Dat is belangrijker dan het klinkt. In volwassen .NET-codebases is een graaf die wordt gedomineerd door framework-calls niet erg nuttig. De nuttige graaf is er een waarin repository-specifieke controllers, services, DTO's en helper-classes zich nog onderscheiden.

## Nuttige MCP-workflows voor .NET-codebases

De praktische flow begint meestal met:

- `find_symbol` als je de naam van de controller, service, DTO of het model kent.
- `dependency_search` voordat je een gedeelde service of type bewerkt dat op veel plekken wordt gebruikt.
- `get_task_context` voor prompts zoals "volg dit request van controller naar repository" wanneer het pad meerdere lagen doorkruist.

## Wanneer deze pagina nuttig is

Deze pagina is voor teams die AI-ondersteuning willen binnen een echte .NET-codebase, niet alleen een speeltuinproject. Als het omringende systeem meer JVM dan .NET is, vergelijk dan met [Java](/nl/languages/java). Als je C#-laag slechts een onderdeel is van een groter polyglot systeem, is de aangrenzende [TypeScript](/nl/languages/typescript)-pagina meestal ook relevant.

## Enginedetails

- `using`-prefixen worden genormaliseerd bij imports, en nullable- of arraysuffixen zoals `?` en `[]` worden verwijderd uit symbooldefinities.
- Instantiatie gebruikt aanroepknopen met verwijdering van generieke haakjes, wat helpt om constructor-achtig gebruik leesbaar te houden in de graaf.
- De configuratie filtert expliciet grote hoeveelheden BCL- en LINQ-ruis zodat repository-specifieke services en modellen makkelijker naar boven komen.

## Nuttige MCP-instappunten

- `find_symbol`: Gebruik dit wanneer je de naam van de controller, service, DTO of gedeeld type kent dat je gaat aanraken.
- `dependency_search`: Gebruik inkomende traversal voordat je een kernservice of model wijzigt dat door de hele applicatie wordt gebruikt.
- `get_task_context`: Nuttig voor prompts zoals “volg dit verzoek van controller naar repository” in gelaagde .NET-codebases.
