Saltar al contenido
cd /languages
.NET duraderoProgramaciónSoporte completo de grafo

Compatibilidad con C# en Maguyva: refactorizaciones más seguras para bases de código .NET

Maguyva es compatible con C# mediante análisis AST y extracción de símbolos, de modo que los agentes de IA puedan trabajar en servicios .NET, lógica de negocio con uso intensivo de LINQ, bibliotecas compartidas y repositorios empresariales de larga duración.

Lo que importa en bases de código .NET maduras

Muchos equipos que usan herramientas de IA viven en .NET, no en JavaScript de terreno virgen. Tienen APIs, procesos worker, modelos compartidos, bibliotecas internas y años de lógica de negocio. La pregunta no es si un LLM puede generar sintaxis de C#. La pregunta es si puede mantenerse fundamentado dentro de un repositorio donde una edición equivocada puede propagarse a través de servicios, modelos y abstracciones compartidas.

Por eso una página sobre C# tiene que ser más específica que «compatible».

Qué extrae Maguyva realmente en C#

Maguyva normaliza las importaciones de using, elimina los sufijos de nulabilidad y de arreglos como ? y [] de las definiciones, y trata los nodos de llamada de tipo constructor como instanciaciones, eliminando los corchetes genéricos. Son detalles útiles en repositorios de C# con muchas clases porque hacen que el grafo quede más limpio en torno a los tipos de dominio reales.

La configuración también filtra gran parte del ruido de la BCL y de LINQ. Eso importa más de lo que parece. En bases de código .NET maduras, un grafo dominado por llamadas del framework no es muy útil. El grafo útil es aquel en el que los controladores, servicios, DTOs y clases auxiliares específicos del repositorio siguen destacando.

Flujos de trabajo MCP útiles para bases de código .NET

El flujo práctico suele comenzar con:

  • find_symbol cuando conoces el nombre del controlador, servicio, DTO o modelo.
  • dependency_search antes de editar un servicio o tipo compartido que pueda tener un uso entrante amplio.
  • get_task_context para instrucciones como «seguir esta solicitud desde el controlador hasta el repositorio» cuando la ruta abarca varias capas.

Cuándo es útil esta página

Esta página es para equipos que quieren asistencia de IA dentro de una base de código .NET real, no solo en un proyecto de juguete. Si el sistema circundante es más JVM que .NET, compáralo con Java. Si tu capa de C# es solo una parte de un sistema políglota más grande, la página adyacente de TypeScript también suele ser relevante.

Mejor uso

  • >Repositorios de ASP.NET, servicios worker y plataformas internas que combinan endpoints web, trabajos programados y bibliotecas compartidas.
  • >Equipos que mantienen entornos .NET maduros donde LINQ, los flujos asíncronos y las abstracciones del framework ocultan la ruta de ejecución real.
  • >Equipos que evalúan si un agente puede mantenerse fundamentado en código .NET en capas antes de reescribir la lógica de negocio.

Flujos de trabajo del agente

  • >Seguir la ruta de un controlador, un servicio y un repositorio antes de editar la lógica de negocio.
  • >Inspeccionar dónde se instancia un modelo, un DTO o una utilidad compartida en todo el repositorio.
  • >Comprender los patrones circundantes de LINQ o asíncronos antes de dejar que el agente reescriba algo.

Detalles del motor

  • >Los prefijos `using` se normalizan en los imports, y los sufijos de nullable o array como `?` y `[]` se eliminan de las definiciones de símbolos.
  • >La instanciación usa nodos de llamada con eliminación de corchetes genéricos, lo que ayuda a mantener legible en el grafo el uso tipo constructor.
  • >La configuración filtra explícitamente grandes cantidades de ruido de BCL y LINQ, para que los servicios y modelos específicos del repositorio sean más fáciles de encontrar.

Puntos de entrada MCP útiles

  • find_symbol

    Úsala cuando sepas el nombre del controller, servicio, DTO o tipo compartido que vas a tocar.

  • dependency_search

    Usa el recorrido entrante antes de editar un servicio o modelo central usado en toda la aplicación.

  • get_task_context

    Útil para prompts como “sigue esta request desde el controller hasta el repository” en codebases .NET en capas.