新着記事

[C#] ある型が指定したクラスまたはインターフェイスにキャスト可能か判定する方法

通常は is や as でキャストできるか判定しますが、Type 指定でクラスやインターフェイスにキャスト可能か判定する方法です。
is と同じ結果になる方法だと思います。指定したクラスの派生または、指定したインターフェイスを実装しているか判定できます。

C# C# リフレクション 2024-04-22 (月)
[Git] リモートのタグを強制的に取得する

Git のローカルのタグがリモートとずれた場合に、リモートのタグを再取得して強制的に上書きする方法です。
ローカルとリモートで同一名のタグを作成したり、タグが再プッシュされた場合にずれたりします。

Git Git 更新: 2024-04-03 (水)
[Hugo] 見出しにアンカーリンクのボタンを表示する

Hugo は、## などの見出しにアンカーリンクを自動設定してくれます。目次の出力 (Table of contentsTable) でアンカーリンクに飛べます。
しかし、見出しのテキストにマウスカーソルを乗せても、アンカーリンクは表示されません。
GitHub のようにアンカーリンクのアイコンボタンを表示する方法です。

Hugo Hugo 2024-01-28 (日)
[XAML] WPF で Resources に Binding を定義して、共通化して使用する方法

通常は Style の Setter を使用することで、共通のバインドを定義することができますが、別々の Style を適用したい場合などは別の方法が必要です。
ResourceDictionary に x:Key を指定して Binding を定義しても、StaticResource から参照することができません。
Markup を実装することで、共通の Binding を1回だけ定義して、共有して使用する方法です。

XAML XAML WPF 2024-01-27 (土)
[C#] DateTimeKind の変換方法と意識すること

DateTimeには Kind プロパティがあり、UtcLocal という状態を持つ場合があります。
基本的には Unspecified であり、Ticks の日時のみが処理されます。
しかし一部の処理では Kind を意識する必要があるため、変換方法や注意点をまとめます。

C# C# 2024-01-22 (月)
[節税] ふるさと納税上限額を完全に理解したフリーランスの備忘録 (2023年分)

個人事業主は確定申告を作るので、なるべく正確に計算してギリギリまでふるさと納税にしたいですよね。
毎年計算するので、忘れないようにメモしておきます。住民税決定通知書で答え合わせまでして、今のところ上限額をオーバーしたことはありません。

節税 節税 ふるさと納税 確定申告 税金 2023-12-15 (金)
[C#] Task.Run() のラムダ式でクロージャを回避して、ヒープメモリを軽減する

Task.Run() とラムダ式を使用すると、簡単にタスクを実行できます。しかし、ラムダ式で外部変数をキャプチャすると、クロージャによりメモリアロケーションが発生します。
外部変数を引数に取る静的メソッドを用意することで、ラムダ式のメモリアロケーションを削減できます。
Task.Run() では実現できないため、Task.Factory.StartNew() を使用して実現する方法です。

C# C# パフォーマンス BenchmarkDotNet 2023-11-24 (金)
[Git] 指定したコミットが含まれるタグを検索する

指定したコミットが含まれるタグを検索する方法です。git describe と git tag を使用して検索します。
指定したコミットがリリースされたアプリバージョン(git にタグ付けしている)を調べるために活用しました。

Git Git 2023-03-28 (火)
[XAML] WPF で IntelliSense による入力補完やリファクタ機能を可能にする記述方法

バインドするプロパティをタイプセーフに記述します。WPF で ReSharper (Rider) を使用する想定です。
バインドのプロパティ名に誤りがあれば、IDE 上で警告されます。
定義へ移動(Go to Declaration)、すべての参照を検索(Find Usages)、リファクタによる名前変更(Rename)などの機能もフルに利用可能です。

XAML XAML WPF 更新: 2024-01-22 (月)