Zum Inhalt springen
cd /languages
Langlebiges .NETProgrammierungVollständiger Graph-Support

C#-Unterstützung in Maguyva: Sicherere Refactorings für .NET-Codebasen

Maguyva unterstützt C# mit AST-Parsing und Symbolextraktion, damit KI-Agents in .NET-Services, LINQ-lastiger Geschäftslogik, gemeinsam genutzten Bibliotheken und langlebigen Enterprise-Repositories arbeiten können.

Worauf es in gewachsenen .NET-Codebasen ankommt

Viele Teams, die KI-Tooling einsetzen, leben in .NET, nicht in einem Greenfield-JavaScript-Projekt. Sie haben APIs, Worker-Prozesse, gemeinsam genutzte Modelle, interne Bibliotheken und jahrelang gewachsene Geschäftslogik. Die Frage ist nicht, ob ein LLM C#-Syntax ausgeben kann. Die Frage ist, ob es in einem Repository verankert bleibt, in dem eine einzige falsche Änderung durch Services, Modelle und gemeinsam genutzte Abstraktionen hindurch Wellen schlagen kann.

Deshalb muss eine C#-Seite genauer sein als “unterstützt”.

Was Maguyva in C# tatsächlich extrahiert

Maguyva normalisiert using-Imports, entfernt Nullable- und Array-Suffixe wie ? und [] aus Definitionen und behandelt konstruktorartige Aufrufknoten als Instanziierungen, während generische Klammern entfernt werden. Das sind nützliche Details in klassenlastigen C#-Repositories, weil sie den Graphen rund um echte Domänentypen sauberer machen.

Die Konfiguration filtert außerdem viel BCL- und LINQ-Rauschen heraus. Das ist wichtiger, als es klingt. In gewachsenen .NET-Codebasen ist ein von Framework-Aufrufen dominierter Graph wenig hilfreich. Der nützliche Graph ist der, in dem repository-spezifische Controller, Services, DTOs und Hilfsklassen weiterhin hervorstechen.

Nützliche MCP-Workflows für .NET-Codebasen

Der praktische Ablauf beginnt meist mit:

  • find_symbol, wenn du den Namen des Controllers, Service, DTO oder Modells kennst.
  • dependency_search, bevor du einen gemeinsam genutzten Service oder Typ mit potenziell breiter eingehender Nutzung bearbeitest.
  • get_task_context für Prompts wie “folge dieser Anfrage vom Controller bis zum Repository”, wenn sich der Pfad über mehrere Schichten erstreckt.

Wann diese Seite nützlich ist

Diese Seite richtet sich an Teams, die KI-Unterstützung in einer echten .NET-Codebasis wollen, nicht nur in einem Spielzeugprojekt. Wenn das umgebende System eher JVM als .NET ist, vergleiche mit Java. Wenn deine C#-Schicht nur ein Teil eines größeren polyglotten Systems ist, ist meist auch die benachbarte TypeScript-Seite relevant.

Am besten geeignet

  • >ASP.NET-, Worker-Service- und interne Plattform-Repositories, die Web-Endpunkte, Jobs und gemeinsam genutzte Bibliotheken vermischen.
  • >Teams, die gewachsene .NET-Landschaften pflegen, in denen LINQ, asynchrone Abläufe und Framework-Abstraktionen den tatsächlichen Ausführungspfad verschleiern.
  • >Teams, die testen, ob ein Agent in geschichtetem .NET-Code verankert bleibt, bevor er Geschäftslogik umschreibt.

Agentenabläufe

  • >Einem Controller-, Service- und Repository-Pfad folgen, bevor Geschäftslogik bearbeitet wird.
  • >Prüfen, wo ein Model, DTO oder ein gemeinsam genutztes Utility im gesamten Repo instanziiert wird.
  • >Umliegende LINQ- oder Async-Muster verstehen, bevor der Agent irgendetwas umschreibt.

Engine-Einordnung

  • >`using`-Präfixe werden bei Imports normalisiert, und nullable- oder Array-Suffixe wie `?` und `[]` werden aus Symboldefinitionen entfernt.
  • >Instanziierung nutzt Call-Nodes mit Entfernung generischer Klammern, was konstruktorartige Nutzung im Graph lesbar hält.
  • >Die Konfiguration filtert explizit große Mengen an BCL- und LINQ-Rauschen, damit repository-spezifische Services und Modelle leichter auffindbar sind.

Nützliche MCP-Einstiegspunkte

  • find_symbol

    Nutz es, wenn du den Controller-, Service-, DTO- oder gemeinsam genutzten Typ-Namen kennst, den du gerade anfasst.

  • dependency_search

    Nutz eingehende Traversierung, bevor du einen Core-Service oder ein Modell änderst, das anwendungsweit genutzt wird.

  • get_task_context

    Nützlich für Prompts wie „folge dieser Anfrage vom Controller zum Repository“ in geschichteten .NET-Codebases.