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

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

## Unterstützungsüberblick

- Stufe: AST- und Symbol-Support
- Programmierung
- Dateiendungen: .cs, .csx
- Echtes AST-Parsing für syntaxbewusste Suche und strukturellen Kontext.
- Benannte Symbole speisen semantisches Lookup und Cross-Referenzierung. Graph-Navigation ist verfügbar, wenn die Beziehungsextraktion aktiviert ist.
- Diese Sprache liefert Symbole und Beziehungen für die graphgestützte Suche; die unterstützten Kantentypen variieren je nach nativen Konstrukten der Sprache.
- AST-Parsing und Symbolextraktion sind beide verfügbar.

## 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.

## Agent-Ablä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.

## 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, Services, DTOs 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](/de/languages/java). Wenn deine C#-Schicht nur ein Teil eines größeren polyglotten Systems ist, ist meist auch die benachbarte [TypeScript](/de/languages/typescript)-Seite relevant.

## 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 Graphen 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.
