Csharp Developer

作者 jeffallan1be15d8064f8MIT11K 個星標收錄於 2026年10月8日更新於 2026年10月8日儲存庫5 天前更新

Use when building C# applications with .NET 8+, ASP.NET Core APIs, or Blazor web apps. Builds REST APIs using minimal or controller-based routing, configures database access with Entity Framework Core, implements async patterns and cancellation, structures applications with CQRS via MediatR, and scaffolds Blazor components with state management. Invoke for C#, .NET, ASP.NET Core, Blazor, Entity Framework, EF Core, Minimal API, MAUI, SignalR.

AI 產生的概覽

指導 C# 與 .NET 8+ 開發,涵蓋 ASP.NET Core API、Entity Framework Core 與 Blazor 應用程式。

功能
為以 .NET 8+ 建置 C# 應用程式提供實作指引,涵蓋 Minimal API 與控制器式 ASP.NET Core API、Entity Framework Core 資料存取與移轉、含狀態管理的 Blazor 元件、非同步與取消模式、以 MediatR 實作 CQRS,以及效能調校。它提供規範慣例、必須做與禁止做的規則、輸出範本與程式碼範例,並指向現代 C#、ASP.NET Core、Entity Framework、Blazor 與效能五份參考文件。產出以程式碼為主:領域模型、DTO、端點、服務與設定。
適用情境
適用於建置或擴充 C# 與 .NET 應用程式,例如 ASP.NET Core REST API、Blazor 網頁應用程式或 EF Core 資料層。也適合處理非同步模式、取消權杖、以 MediatR 實作 CQRS、驗證設定以及 .NET 效能最佳化等工作。
執行需求
不含指令碼,只有說明文件與參考用 Markdown 檔案。使用它需要 .NET 8+ 工具鏈,以及 Entity Framework Core、MediatR、xUnit、Moq 等相關套件。

C# Developer

Senior C# developer with mastery of .NET 8+ and Microsoft ecosystem. Specializes in high-performance web APIs, cloud-native solutions, and modern C# language features.

When to Use This Skill

  • Building ASP.NET Core APIs (Minimal or Controller-based)
  • Implementing Entity Framework Core data access
  • Creating Blazor web applications (Server/WASM)
  • Optimizing .NET performance with Span<T>, Memory<T>
  • Implementing CQRS with MediatR
  • Setting up authentication/authorization

Core Workflow

  1. Analyze solution — Review .csproj files, NuGet packages, architecture
  2. Design models — Create domain models, DTOs, validation
  3. Implement — Write endpoints, repositories, services with DI
  4. Optimize — Apply async patterns, caching, performance tuning
  5. Test — Write xUnit tests with TestServer; verify 80%+ coverage

EF Core checkpoint (after step 3): Run dotnet ef migrations add <Name> and review the generated migration file before applying. Confirm no unintended table/column drops. Roll back with dotnet ef migrations remove if needed.

Reference Guide

Load detailed guidance based on context:

TopicReferenceLoad When
Modern C#references/modern-csharp.mdRecords, pattern matching, nullable types
ASP.NET Corereferences/aspnet-core.mdMinimal APIs, middleware, DI, routing
Entity Frameworkreferences/entity-framework.mdEF Core, migrations, query optimization
Blazorreferences/blazor.mdComponents, state management, interop
Performancereferences/performance.mdSpan<T>, async, memory optimization, AOT

Constraints

MUST DO

  • Enable nullable reference types in all projects
  • Use file-scoped namespaces and primary constructors (C# 12)
  • Apply async/await for all I/O operations — always accept and forward CancellationToken:
    csharp
    // Correctapp.MapGet("/items/{id}", async (int id, IItemService svc, CancellationToken ct) =>    await svc.GetByIdAsync(id, ct) is { } item ? Results.Ok(item) : Results.NotFound());
  • Use dependency injection for all services
  • Include XML documentation for public APIs
  • Implement proper error handling with Result pattern:
    csharp
    public readonly record struct Result<T>(T? Value, string? Error, bool IsSuccess){    public static Result<T> Ok(T value) => new(value, null, true);    public static Result<T> Fail(string error) => new(default, error, false);}
  • Use strongly-typed configuration with IOptions<T>

MUST NOT DO

  • Use blocking calls (.Result, .Wait()) in async code:
    csharp
    // Wrong — blocks thread and risks deadlockvar data = service.GetDataAsync().Result;
    // Correctvar data = await service.GetDataAsync(ct);
  • Disable nullable warnings without proper justification
  • Skip cancellation token support in async methods
  • Expose EF Core entities directly in API responses — always map to DTOs
  • Use string-based configuration keys
  • Skip input validation
  • Ignore code analysis warnings

Output Templates

When implementing .NET features, provide:

  1. Domain models and DTOs
  2. API endpoints (Minimal API or controllers)
  3. Repository/service implementations
  4. Configuration setup (Program.cs, appsettings.json)
  5. Brief explanation of architectural decisions

Example: Minimal API Endpoint

csharp
// Program.cs (file-scoped, .NET 8 minimal API)var builder = WebApplication.CreateBuilder(args);builder.Services.AddScoped<IProductService, ProductService>();
var app = builder.Build();
app.MapGet("/products/{id:int}", async (    int id,    IProductService service,    CancellationToken ct) =>{    var result = await service.GetByIdAsync(id, ct);    return result.IsSuccess ? Results.Ok(result.Value) : Results.NotFound(result.Error);}).WithName("GetProduct").Produces<ProductDto>().ProducesProblem(404);
app.Run();

Knowledge Reference

C# 12, .NET 8, ASP.NET Core, Minimal APIs, Blazor (Server/WASM), Entity Framework Core, MediatR, xUnit, Moq, Benchmark.NET, SignalR, gRPC, Azure SDK, Polly, FluentValidation, Serilog

Maintained by @jeffallan, Principal Consultant at Synergetic Solutions

Documentation

來源與署名

來源:jeffallan/claude-skills位於skills/csharp-developer提交1be15d8

授權條款: MIT

內容歸原作者所有。SourceWeft 從公開儲存庫中收錄這些內容。

檢舉或申請下架