c#

コンピュータ

C#でデザインパターン「Interpreterパターン」iniファイルから連想配列へ

昔のWindows系OSで設定用のファイルとしてiniファイルがありました。[Section1]Key1=Value1Key2=Value2[Section2]AnotherKey=AnotherValueこちらの書式を連想配列に変換してみ...
コンピュータ

C#のリフレクションを使って異なるクラスのオブジェクトの同名プロパティの値をコピーしてみる。

異なるオブジェクトで同名プロパティの値をコピーすることがあり、プリミティブな形なのでリフレクションで上手いこと処理できないかと思いコードを書いて見ました。class MyClassA{ public string Name { get; s...
コンピュータ

C#のプロジェクトディレクトリのサブディレクトリは自由に作成出来る。

プロジェクトディレクトリにソースファイルが複数保存されることになりますが、そのファイルをサブディレクトリで分類することができます。基本的にエクスプローラーでサブディレクトリを作成し移動するだけで良いみたいです。ただ、WPFのMainWind...
スポンサーリンク
コンピュータ

C#でデザインパターン「Observerパターン」

Observerパターンはオブジェクトの変化を通知する仕組みとのこと。C#ではObserverパターン用にIObservable<T>とIObserver<T>というインターフェイスが用意されているので、これを使ったサンプルコードをGemi...
コンピュータ

C#でテキスト処理と正規表現

基本的な文字列操作と正規表現について調べてたことを記事にしています。オブジェクトの文字列化オブジェクトに.ToString()メソッドが定義されている場合、呼び出すことで文字列化することが出来ます。Console.WriteLine(obj...
コンピュータ

dotnet.exeでconsole,wpf,classlibを1つのソリューションで構築しvscodeでデバック実行する方法

コードを再利用することを考えるとクラスライブラリ(classlib)として作成するのが望ましい。dotnet.exeのでclasslibのプロジェクトは以下のコマンドで作成することが出来ます。クラスライブラリプロジェクトの作成コマンドdot...
コンピュータ

dotnet.exeでプリプロセッサのシンボルを定義するには。.csproj編集

.csprojにDefineConstantsでシンボルを定義します。csprojのサンプル<Project Sdk="Microsoft.NET.Sdk"> <PropertyGroup> <OutputType>Exe</OutputT...
コンピュータ

dotnet.exeでC#の単独ソースファイルを実行できないか模索する

プロジェクトを作らずにdotnet runで単独のcsファイルが実行できると便利なので方法を調べましたが見つかりませんでした。仕方がないのでプロジェクトを自動作成するPowerShellスクリプトを作成してみました。ファイル名:Run-CS...
コンピュータ

C#で単独ファイルで実行できるexeファイルをつくるdotnet.exeのオプション

C#のコンソールプロジェクトでコマンドプロンプト又はPowerShellから実行できる外部コマンドを作成しようと思います。通常にビルドを行うと、実行するバイナリファイルの.exe以外に実行に必要となる.dllファイルが生成されます。複数のフ...
コンピュータ

C#でデザインパターン「Interpreterパターン」

Interpreterパターンを検索すると、四則演算をしているサンプルが多く見つかったので、それに倣いなるべくシンプルに加算をするコードを作成してみました。// Interpreterパターン// インタフェースinterface IExp...
コンピュータ

C#でデザインパターン「Chain of Responsibility」

「Chain of Responsibility」要求を処理できるオブジェクトを連鎖させ、要求を順に渡していくパターンだそうです。サンプルプログラムで確認してみたいと思います。ソースコード// 要求を処理するインターフェースinterfac...
コンピュータ

C#のWinFormsでINotifyPropertyChangedを使ってコントロールとデータバインディングしてみる。3

INotifyPropertyChangedを継承したクラスのオブジェクトをViewModelとしてWinFormのコントロールとバインドすることが出来ました。今回はジェネリッククラスの勉強がてら、ジェネリッククラスを使うコードに書き換えて...
コンピュータ

C#のWinFormsでINotifyPropertyChangedを使ってコントロールとデータバインディングしてみる。2

前回はテキストボックスとラベルに同じプロパティをバインドしましたが、今回は別のオブジェクトをバインドし、変更通知で連動させてみます。前回の記事ソースコードファイル名:Form1.Designer.csnamespace VMsample01...
コンピュータ

dotnet.exeで生成したwinformsプロジェクトのソースファイルをmonoでコンパイルできるよう考える。

monoでdotnet.exeで生成したプロジェクトを扱うのは筆者のスキルでは困難ですので、Form1.csのみをmonoのmscでコンパイルできるように試してみたいと思います。まずプロジェクト用のフォルダを作成。フォルダ名をTestPro...