# CSharpExtraction

**Kind:** Interface

**Source:** [`atloria-monorepo/libs/parser-core/src/parsers/backend/csharp-source.ts`](https://github.com/sherkety/atloria/blob/main/atloria-monorepo/libs/parser-core/src/parsers/backend/csharp-source.ts#L53)

## Properties

| Property | Type |
|---|---|
| `controllers` | `Array<{
    name: string;
    route: string;
    line: number;
    endLine: number;
    /**
     * When this controller refuses work, and what it does when a step beneath it fails.
     *
     * Present only when the source actually says something — see `hasControlFlow`. An empty
     * structure on every controller would let the renderer imply that nothing was found because
     * nothing is there, when in truth nothing was looked for.
     */
    controlFlow?: ControlFlow;
  }>` |
| `endpoints` | `CSharpEndpoint[]` |
| `models` | `CSharpModel[]` |
