rksoftware

Visual Studio とか C# とかが好きです

オブジェクトのプロパティ/フィールドの名前と値を配列にする

C#

オブジェクトのプロパティ/フィールドの名前と値を配列にしたいことが、あまりないかもしれませんが、たまにはあるかもしれません。 今がそのたまにです。 大したコードではないですが、検索する方もいるかもしれないのでメモ。 概要 リフレクションで名前と…

きのこ vs たけのこ 終戦の道が示されるも身体は闘争を求める

きのこ vs たけのこ。 世界をを二分するきのことたけのこの陣営は互いに軍を形成し、 もはや開戦の理由など誰もわからなくなった銀河規模の戦争を100年間継続していた。 その争いを終戦に導く提案を思いついたので、世界に問うてみました。 一番を二つ選べる…

Visual Studio 2019 の バージョン16.11.9 がリリースされました。Windows Terminal と合わせたときの問題が解消されています。 アップデート必須です!

Visual Studio 2019 の バージョン16.11.9 がリリースされました。 注目点は次の問題が解消された点です。 Windowsターミナルをデフォルトのターミナルとして使用すると、アプリケーションを複数回デバッグできない問題を修正しました。 これは大きいですね…

Visual Studio でコンソールアプリのデバッグ時に Windows Terminal で実行されるようにする

Windows Terminal は好きですか? 私は結構好きです。 Visual Studio Code、Visual Studio に続いて PC 触っている際に触っている時間の多いソフトだと思います。こうなってくると Visual Studio でコンソールアプリのデバッグ時にもコマンド プロンプトでな…

Generic Host でコマンドライン引数を扱う

最近コマンドライン引数をいろいろ頑張っていますが、実は標準の Generic Host ではデフォルトでコマンドライン引数を扱う機能があります。 こんなコードになります。 using Microsoft.Extensions.Configuration; using Microsoft.Extensions.DependencyInje…

Win11 のスタートメニューの「おすすめ」を消す方法

Win11 のスタートメニューには おすすめ という欄があり、ここに最近使ったファイルが表示されたりなどします。 これを消したい方、とても多いと思います。 ■ お前を消す方法 タスクバーの一番左のスタートメニューボタンを右クリック 設定 個人設定 スター…

Surface Laptop 3 でスト5

ある時突然ストリートファイター5がやりたくなることが誰でもあると思います。 そして、手元には Surface Laptop 3だけしかない。そんな日もたまにはあります。 ■ ベンチマーク結果 画面品質が標準設定ではだめでしたがを低にしてたら行けました。 ゲームコ…

Surface Go 3 で スト5

ある時突然ストリートファイター5がやりたくなることが誰でもあると思います。 そして、手元には Surface Go 3(※) だけしかない。そんな日もたまにはあります。 ※真ん中のスペックのモデル(最初に発売された2モデルの上位モデルの方) ■ ベンチマーク結果 ベ…

The following component(s) are required to run this program: DirectX Runtime

ちょっとゲームのベンチマークを動かそうと思ったときに、動かなかったのでメモ。 スペック的に DirectX のバージョンは満たしている...と思っていたのですが次のエラーが。 The following component(s) are required to run this program: DirectX Runtime …

構造体のプロパティに値をセットする

C#

リフレクションを使って構造体のプロパティに値をセットする方法です。 クラスと同じように書いてはうまくいかなかったのでメモ。 ■ 参照情報(答え) ここを見ればすべてが解決します。 ■ リンクをクリックするのが面倒な方へ クラスと同じように書くと期待通…

コマンドライン引数を雑に扱う (4)

C#

以前にコマンドライン引数を雑に扱う記事を書きました。 コンソールアプリ、ちょっとした処理を行う際に雑に作ってしまうのが結構いいのですが、何気にコマンドライン引数の解釈コードが面倒です。 それはもう、あらゆる要素をソースコードに書き込んで毎回…

コマンドライン引数を雑に扱う (3)

C#

以前にコマンドライン引数を雑に扱う記事を書きました。 コンソールアプリ、ちょっとした処理を行う際に雑に作ってしまうのが結構いいのですが、何気にコマンドライン引数の解釈コードが面倒です。 それはもう、あらゆる要素をソースコードに書き込んで毎回…

コマンドライン引数を雑に扱う (2)

C#

以前にコマンドライン引数を雑に扱う記事を書きました。 コンソールアプリ、ちょっとした処理を行う際に雑に作ってしまうのが結構いいのですが、何気にコマンドライン引数の解釈コードが面倒です。 それはもう、あらゆる要素をソースコードに書き込んで毎回…

大文字小文字を区別せずにプロパティ情報を取得する

C#

PropertyInfo を取得する際、大文字小文字を区別して取得したい方は非常にまれだと思います。 大多数の大文字小文字を区別せずに PropertyInfo を取得したい方向けのお話です。ちなみに私も大文字小文字を区別せずに PropertyInfo を取得したい派です。 ■ Bi…

コマンドライン引数を雑に扱う

C#

コンソールアプリ、ちょっとした処理を行う際に雑に作ってしまうのが結構いいのですが、何気にコマンドライン引数の解釈コードが面倒です。 それはもう、あらゆる要素をソースコードに書き込んで毎回ソースコード上の値を書き換えてビルドして使うほどに。 …

dotnet tool の更新確認 dotnet tool を更新しました。

dotnet tool の更新確認 dotnet tool を更新しました。 更新という文字が繰り返しあって混乱しそうですね。 ■ 更新内容 実行結果が、見やすくなりました。 表示がそろうようになって見やすくなりました。 更新があるツールの文字色が赤くなって見やすくなり…

NuGet パッケージのプロパティ (パッケージの情報) を設定する

nuget パッケージには必須のプロパティ情報のほかにも多くの情報が設定できます。 特に Readme やソースコードのリポジトリなどは設定されているとうれしいですね。 設定は .csproj ファイルに書けば OK です。シンプルでわかりやすくていいですね。 ■ 実例 …

dotnet tool の更新確認 dotnet tool 作ってみた

インストール済みの dotnet tool に更新があるかを一括で確認する方法がわからなかったので、dotnet tool を作ってみました。 ちなみに以前には PowerShell で書いてみたりしました。 ■ インストール nuget.org からインストールします。 dotnet tool instal…

インストール済みの dotnet tool に更新があるか確認する

インストール済みの dotnet tool に更新があるかを一括で確認する方法がわからなかったので、PowerShell で書いてみました。 PowerShell 全然わからないので遥かにイイやり方があると思いますが、目的は果たせています。 ■ コマンド > dotnet tool list -g |…

衝撃の事実! 焼き肉の一番おいしい食べ方が判明

皆さん焼き肉はすきですか? 好きな方も好きでない方もいると思います。けれども世間でごちそうとされている事は、皆さんそこそこ異論はないかと思います。 そんな焼き肉ですが、意外と難しい食事です。たれや調味料の種類や配分、焼き加減など食べ方が無限…

dotnet tool 作ってみた (2)

以前に dotnet tool を作ってみました。 rksoftware.hatenablog.com ■ 能力・使い方 (これまで) 1つ目の引数で画像のパスを渡すと、リサイズした新しい画像を2つ目の引数のパスに作成します。リサイズは長辺が 1368 になるように拡大/縮小されます。それだけ…

NuGet パッケージにライセンスファイルを埋め込む

意外と難しかったのでメモ。 Visual Studio の UI で設定する方法が見つけられなかったので。 ■ 前提 いつもこんな感じにリポジトリのトップにライセンスファイルを置いて、src ディレクトリの中にソリューションのディレクトリ、その中にプロジェクトのディ…

dotnet tool 作ってみた

dotnet tool の配布は nuget .org なので、試しに実際に NuGet にあげてみました。計画通り普通にインストールして使えます。 NuGet からインストールできます。 > dotnet tool install --global Rksoftware.ImageResizeConsole ■ 能力・使い方 1つ目の引数…

自作の dotnet tool をプライベート配布する

やったらできました。 作った dotnet tool をプライベートな場所に置いてその場所を、NuGet のパッケージソースとして追加するだけです。 あとは普通に dotnet tool install <パッケージ名> です。 dotnet tool の作り方 パッケージソース追加の仕方 簡単で…

NuGet のパッケージソースを追加する

NuGet のパッケージソースを追加する方法です。 パッケージソースとしてプライベートなパッケージ配置場所を設定することでプライベートな配布ができます。 ■ Visual Studio で追加する おそらく一番一般的に知られた方法です。 Visual Studio の [ NugGet …

.NET で DI する

.NET のコンソールアプリで DI する最低限の要素をメモします。 詳しくはこちら ■ コード やはりコードがわかりやすいと思うので、まずコードを。 using Microsoft.Extensions.DependencyInjection; using Microsoft.Extensions.Hosting; using IHost host =…

C# で Moq でモックを使ったテストをする

今回は C# で Moq でモックを使ったテストをする最低限の要素をメモします。 ■ テストプロジェクトの作成 コマンドで作成できます。 今回は NUnit で進めていこうと思うので、NUnit プロジェクトを作成します。プロジェクト名は SampleTestProject としてみ…

画像のサイズを変更したいだけなら part2

以前にピクセル編集の API とピクセル編集が遅いという記事を書きました。 画像のサイズを変更したいだけならもっと早いやり方の記事を書きました。 System.Drawing.Graphics を使った方がもう少し早いかもしれません。 単純に画像のサイズ (縮小・拡大) を…

画像のサイズを変更したいだけなら

以前にピクセル編集の API とピクセル編集が遅いという記事を書きました。 単純に画像のサイズ (縮小・拡大) を変更したいというだけであれば、もっと早くて簡単な次の方法で良かったです。 例えば縦横 25% のサイズにする場合 using System.Drawing.Bitmap …

dotnet tool の作り方

次のサイトに載っています。 簡単に作ってみましょう。 console アプリを作る dotnet tool はコンソールアプリなのでまずは普通にコンソールアプリを作っていきます。 .NET アプリはコマンドでプロジェクトを作れるのでコマンドで作っていきます。ここではア…