C#– category –
-
C# DataAnnotationsでネストしたクラスを再帰的に検証する方法|リフレクションで属性と値を取得する実装解説
C# の DataAnnotations でモデルを検証していると、クラスがメイン→子→孫とネストした途端に「どのプロパティがどの属性に違反しているか」が一気に見えづらくなります... -
WebClientのDownloadStringAsync/DownloadFileAsyncをHttpClientへ安全に移行する完全ガイド【C#・VB対応】
既存の .NET アプリで WebClient を使ったダウンロード処理をそのまま残していないでしょうか。近年は HttpClient への移行が強く推奨されていますが、「DownloadString... -
WPFアプリの権限管理:ユーザー別に画面アクセスを制限するRBAC/Claims実装ガイド
C#のWPFアプリでページや機能が増えてくると、「このユーザーには管理画面を見せたくない」「閲覧専用は編集ボタンを押せないようにしたい」といった要件が必ず出てきま... -
C#とC++のWM_COPYDATA通信で衝突を防ぐ:SendMessageTimeoutとMarshal.StringToHGlobalAnsiの安全な直列化・ハートビート設計
WM_COPYDATAでC#からC++へ定期的にIsRunning()(60秒ごとのハートビート)を送りつつ、RunInside()/RunOutside()のような別リクエストも投げると「送受信がぶつかるので... -
.NET 8でSystem.Messaging(MSMQ)が使えない原因と代替メッセージキュー(RabbitMQ・Azure Service Bus)移行ガイド
.NET Framework 4.7.2 までは普通に使えていた System.Messaging(MSMQ)が、.NET 8 に移行した途端にビルドエラー…。この記事では「なぜ使えないのか」「.NET 8 で何を... -
C#のDirectory.DeleteとEnumerateFilesの違いと安全なディレクトリ削除の実装パターン
C# でディレクトリを丸ごと消したいとき、Directory.Delete(path, true) で一発削除するか、Directory.EnumerateFiles/Directory.EnumerateDirectories で中身を全部列... -
FAT32でDirectory.Delete(true)が「Unicode文字を対象のマルチバイトコードページにマップできません」になる原因と対処法
FAT32でフォーマットされたUSBメモリ上のフォルダーをC#の Directory.Delete(true) で一括削除したとき、「Unicode文字を対象のマルチバイトコードページにマップできま... -
C# から C++ へ文字列送信する最適解|WM_COPYDATA とタイマーで実現するフルデュプレックス通信とスレッド安全性
既存の C++ アプリに、C#(WinForms)からテキストボックスを介さずに定期的に文字列を送りたい──そんな場面は業務システムでよくあります。しかし実装を誤ると、「クロ... -
C#で10〜16桁の一意な数値メッセージIDを生成する方法|RandomNumberGenerator非対応環境も解説
C# でメッセージごとに一意な 10〜16 桁の数値 ID を発行したいのに、「RandomNumberGenerator.GetInt32 が使えない」「分散構成で衝突が不安」といった悩みは非常によ...
