# Suporta sa C# sa Maguyva: Mas Ligtas na Refactor para sa .NET Codebase

Canonical source: https://maguyva.ai/fil/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).

Sinusuportahan ng Maguyva ang C# gamit ang AST parsing at symbol extraction para makapagtrabaho ang mga AI agent sa .NET services, LINQ-heavy na business logic, shared library, at matagal nang umiiral na enterprise repository.

## Snapshot ng support

- Antas: Support para sa AST at mga simbolo
- Programming
- Mga extension: .cs, .csx
- Tunay na AST parsing para sa syntax-aware search at structural context.
- Pinapagana ng mga named symbol ang semantic lookup at cross-reference. Available ang graph navigation kapag naka-enable ang pagkuha ng mga ugnayan.
- Nag-aambag ang wikang ito ng mga simbolo at ugnayan sa graph-aware search; nag-iiba ang mga sinusuportahang uri ng edge ayon sa mga native construct nito.
- Available ang AST parsing at symbol extraction.

## Pinakabagay

- Mga ASP.NET, worker-service, at internal platform repository na may halong web endpoint, job, at shared library.
- Mga team na nagmamantini ng mature na .NET estate kung saan itinatago ng LINQ, async flow, at framework abstraction ang totoong execution path.
- Mga team na sumusubok kung kaya ng agent na manatiling naka-ground sa layered na .NET code bago mag-rewrite ng business logic.

## Mga workflow ng agent

- Sundan ang path ng controller, service, at repository bago i-edit ang business logic.
- Suriin kung saan na-instantiate ang isang model, DTO, o shared utility sa buong repo.
- Unawain ang nakapalibot na LINQ o async pattern bago payagan ang agent na mag-rewrite ng kahit ano.

## Ano ang mahalaga sa mature na .NET codebase

Maraming team na gumagamit ng AI tooling ang nagtatrabaho sa .NET, hindi sa mga bagong JavaScript project na sinisimulan mula sa wala. May mga API sila, worker process, shared model, internal library, at business logic na nabuo sa loob ng maraming taon. Ang tanong ay hindi kung kayang mag-emit ng C# syntax ng isang LLM. Ang tanong ay kung kaya nitong manatiling naka-ground sa loob ng isang repository kung saan ang isang maling edit ay maaaring kumalat sa services, models, at shared abstraction.

Kaya dapat mas specific ang isang C# page kaysa sa "supported" lamang.

## Ano talaga ang kinukuha ng Maguyva sa C#

Nino-normalize ng Maguyva ang mga `using` import, tinatanggal ang nullable at array suffix tulad ng `?` at `[]` mula sa mga definition, at tinuturing na instantiation ang constructor-like na call node habang tinatanggal ang generic brackets. Mga kapaki-pakinabang na detalye ito sa class-heavy na C# repo dahil nililinis ng mga ito ang graph sa paligid ng totoong domain type.

Fina-filter din ng config ang malaking bahagi ng BCL at LINQ noise. Mas mahalaga ito kaysa sa unang akala. Sa mature na .NET codebase, hindi gaanong nakakatulong ang graph na dinodominahan ng framework calls. Ang kapaki-pakinabang na graph ay ang isa kung saan namumukod-tangi pa rin ang repository-specific na controllers, services, DTOs, at helper classes.

## Kapaki-pakinabang na MCP workflow para sa .NET codebase

Karaniwang nagsisimula ang praktikal na daloy sa:

- `find_symbol` kapag alam mo na ang pangalan ng controller, service, DTO, o model.
- `dependency_search` bago i-edit ang isang shared service o type na maaaring may malawak na inbound usage.
- `get_task_context` para sa mga prompt tulad ng "follow this request from controller to repository" kapag umaabot ang path sa ilang layer.

## Kailan kapaki-pakinabang ang page na ito

Ang page na ito ay para sa mga team na gustong magkaroon ng AI assistance sa loob ng totoong .NET codebase, hindi lang sa isang toy project. Kung ang nakapalibot na system ay mas JVM kaysa .NET, ihambing ito sa [Java](/fil/languages/java). Kung ang iyong C# layer ay isa lang na bahagi ng mas malaking polyglot na system, karaniwan ding may kaugnayan ang katabing [TypeScript](/fil/languages/typescript) page.

## Mga detalye ng engine

- Nino-normalize ang mga `using` prefix sa imports, at tinatanggal ang mga nullable o array suffix tulad ng `?` at `[]` mula sa symbol definitions.
- Gumagamit ang instantiation ng call node na may generic-bracket stripping, na tumutulong na manatiling nababasa sa graph ang constructor-like na paggamit.
- Sinasadyang tinatanggal ng config ang malaking dami ng BCL at LINQ noise para mas madaling lumitaw ang mga service at model na specific sa repository.

## Mga kapaki-pakinabang na MCP entry point

- `find_symbol`: Gamitin ito kapag alam mo ang controller, service, DTO, o shared type name na gagalawin mo.
- `dependency_search`: Gamitin ang incoming traversal bago i-edit ang isang core service o model na ginagamit sa buong application.
- `get_task_context`: Kapaki-pakinabang para sa mga prompt tulad ng “follow this request from controller to repository” sa mga layered na .NET codebase.
