C#
C# 14 について紹介する記事「Introducing C# 14」の内容について、整理しました。 Extension members More productivity for you The field keyword Unbound generic types and nameof Simple lambda parameters with modifiers Null-conditional assignmen…
MarkupExtension の実装と DependancyProperty の実装 パラメータがないときの実装パターン MarkupExtension の実装パターン Freezable を使う Sample 参考 WPF の IValueConverter を実装するときの考え方と小ネタ。 MarkupExtension の実装と DependancyPr…
設定変更 おまけ 参考 VisualStudio のデフォルトエンコーディングは、隙あらば shift-jis が使われました。これまでは。 これとにかく気持ち悪くて、shift-jis と UTF8 が混在するのは VisualStudio のコーディングする上で気づいたらそうなってしまうもの…
カレンダーコントロールの構造 Day セルのカスタマイズ ElementNotAvailableException の対応 カレンダーの Binding 要素の更新 カレンダーの Binding の修正例 サンプル 参考 WPF のカレンダーコントロールをしっかりとやっている記事が少なかったので記録…
1.実行コードの「Run」 Inspect value.Inspect() Inspect.Heap(object) Inspect.Stack(value) Inspect.MemoryGraph(value1, value2, …) Inspect.Allocations(補足) 参考 Sharplab は 2016 年後半ごろに「TryRoslyn」という名前で「C# を Web 上で試せる…
パフォーマンスに影響の大きい絶対に守るべきこと コレクションの型あわせ ループ内の線形探索 コレクションの初期容量を指定 Result と Wait はやめる 環境 最速の開発/実行環境 構造体 構造体の優位性 構造体の欠点 参照渡し ref readonly/in の難しさ コ…
GitHub Prism Prism は主に WPF などで利用できる、XAML アプリケーションを構築するためのフレームワークです。 Prism は Microsoft MVVM Toolkit と似た役割を担うことができるライブラリで、特徴として MVVM +α のような機能を提供しています。 これまで…
ランキング参加中プログラミング 冪等の例 UUID と GUID C# の GUID の生成 NanoID UUID 7(旧:TODO) 参考 特に SQL などで、利用するユニークな採番(各データに番号を割り当てるプロセス)で、いわゆる ID を利用することがあります。 一般的には(単純…
WindowService の利用 使い方 ポイント 参考 ボタンなどの GUI イベントを実行したときに、メインウィンドウのインスタンス(ハンドル)が欲しいことがあります。 本来、MVVM で設計をするとこういうことは無いように設計するのかもしれませんが、現実的に V…
C# の EventLogEntry を利用して「システム時刻の変更」の情報を取得すると「CVE の検出の可能性」としてメッセージが出力されます。 イベント ID: 1 タスクのカテゴリ: (5) ソース: Kernel-General たしかに、現在ではオンライン設定がデフォルトになってい…
バージョンの基本的な用途のポイント 個人的な最小要件のバージョン管理方法 プログラムからのバージョン参照 参考 .NET でアプリケーションを作成したとき、プログラムのバージョンを正しく管理し続けることが難しいプロジェクトが結構あると思います。.NET…
現在のリソース SnackBar XAML 変更点 (最適ではないけど)動作する最小サンプル Prism DI を使った例 そのほかのアップデートの注意点 参考 WPF UI のメジャーバージョンが「3」になりました。アップデートに伴って、旧バージョンになった「2」は NuGet …
XAML View ViewModel Converter サンプル 参考 WPF の RadioButton の IsChecked プロパティに Enum 値を Binding させたいシーンが結構よくあります。地味に使うケースがあるんだけど、記述方法にひと手間あるんでその内容を記録しました。 この記事の内容…
ランキング参加中 プログラミング .NET Community Toolkit 8.2! .NET Community Toolkit には何がありますか? (What’s in the .NET Community Toolkit? ) Custom attributes [RelayCommand] 新しい ObservableProperty の変更フック⚗️ MVVM Toolkit の Cod…
ランキング参加中 プログラミング ObservableGroup<TKey, TElement> and ReadOnlyObservableGroup<TKey, TElement> Sample ObservableGroup<TKey, TElement> features ObservableGroupedCollection<TKey, TElement> and ReadOnlyObservableGroupedCollection<TKey, TElement> ObservableGroupedCollection<TKey, TElement> features 参考 Obs…</tkey,></tkey,></tkey,></tkey,></tkey,></tkey,>
ランキング参加中 プログラミング IoC (Inversion of control) サービスの構成と解決 (Configure and resolve services) コンストラクタの注入 (Constructor injection) Viewmodel は "constructor injection" て、どうなの? (What about viewmodels?) 参考…
ランキング参加中プログラミング Messenger どのように機能するか (How it works) 送信 - 送信と受信メッセージ (Sending messages - Sending and receiving messages) Sample リクエストメッセージの使用 (Request messages - Using request messages) Samp…
ランキング参加中プログラミング RelayCommands どのように機能するか (How it works) ICommand の働き (Working with ICommand) Sample AsyncCommands どのように機能するか (How it works) 非同期コマンドの働き (Working with asynchronous commands) Sam…
ランキング参加中プログラミング ObservableValidator どのように機能するか (How it works) 単純な例 Sample カスタム検証のメソッド (Custom validation methods) カスタム検証の属性 (Custom validation attributes) 参考 ObservableValidator Observable…
ランキング参加中プログラミング どのように機能するか (How it works) 単純な例 サンプル non-observable モデルのラッピング Task の扱い (Handling Task properties) Sample 参考 ObservableObject は、INotifyPropertyChanged と INotifyPropertyChangin…
ランキング参加中プログラミング RelayCommand 属性 How it works(どのように機能するのか) Command パラメーター 非同期コマンド (Asynchronous commands) コマンドの有効化と無効化 (Enabling and disabling commands) コマンドの同時実行の処理 (Handli…
ランキング参加中プログラミング ObservableProperty の属性 ObservableProperty の属性 How it works(どのように機能するのか) Running code upon changes(変化に応じた実行コード) Notifying dependent properties(依存プロパティの通知) Notifying …
ランキング参加中プログラミング MVVM Toolkit のサンプルプログラム Introduction to the MVVM Toolkit で、MVVM Toolkit パッケージはいつ使うべきなの? MVVM Source generators 参考 WinUI3 でも利用できる MVVM として「MVVM Toolkit」の学習をはじめま…
JumpList 使い方の例 参考 WPF のアプリを作っているときに JumpList を使おうと思ったときに、システムトレイアイコンのメニューとの使い方の違いを再認識しました。その内容をメモ。 JumpList JumpList は Windows 7 から追加された windows の機能です。 …
ToggleButton のデザイン ToggleButton のイベント コード上からの注意点 余談:添付プロパティで対応できるか? 参考 タイトルのとおり、WPF のコントール ToggleButton の使い方についてのメモです。ToggleButton は、通常のボタンに加えて IsChecked プロ…
この記事は「Qiita - C# Advent Calendar 2023」に参加しています。 C# には、時間を表現するクラスに DateTime と DateTimeOffset があります。.NET 8 から TimeProvider クラスが新しく用意されました。 TimeProvider クラスは .NET8 の新機能のひとつ「時…
C# の Timer 事情 補足:自分で sleep を利用したタイマーを作る場合 Windows マルチメディアのタイマー実装の注意 実装するときの P/Invoke 太古の情報 サンプル 参考 Windows において、高精度なタイマーを実装するのは 2000 年以前から難しい(困難)こと…
ランキング参加中プログラミング ファイル構成(App.xaml) AppExBase クラスの実装 AppEx の実装 App.xaml.cs の実装 参考 App.xaml は全体で使うリソースを宣言するファイルで、App.xaml.cs は(主に)アプリケーションのエントリーポイント。 WPF でも Wi…
Windows App SDK (WinUI 3) とは Win UI の補足 Hello World 環境構築とプロジェクトの作成 プロジェクトの初期構成ファイル デバッグの実行テスト ウィンドウ画面の作成 参考 この記事は、Windows App SDK の使い方について学んだ基本的な内容をアウトプッ…
Visual Studio 拡張機能 拡張機能の開発デバッグ プロジェクトの構成について コマンドを追加する コマンドのローカライズ 公開する GitHub 参考 Visual Studio の拡張機能を作成したときの内容をメモします。 今回、拡張機能を作成しようと思ったきっかけは…