2020-05-01から1ヶ月間の記事一覧

呼び出し元情報の取得

c#

メソッドの引数にCallerMemberName属性を付与することで メソッド呼び出し元のメソッド名またはプロパティ名を取得できる。 また、CallerFilePath属性を付与することで、呼び出し元のC#ファイル名を CallerLineNumber属性を付与することで、呼び出し元の行番…

DebugWindowへの出力

// Debug:デバッグウインドに出力できる。 // ReleaseModeでビルドすると実行されない。 System.Diagnostics.Debug.WriteLine("Test");

View ViewModel Modelの責務

WPF

■View:画面。ユーザインターフェース。情報の表示やユーザ入力を受ける。 ViewModeに依存 InitializeCompornet以外、コードビバインドに描くべきではない ■ViewModel:表示する情報の保持、変換。Modelの操作。Modelの参照。 View ModelはViewを参照しない…

イベント

c#

1.イベントを発生させたいクラスでイベントを宣言(EventHandler ハンドラ名) ex)public event EventHandler GetPayRise; 2.イベントを発生させたい箇所で、ハンドラ名(SenderObject(基本は発生させたクラスなのでthis),引数(なければEevntArgs.Empty) ex)Get…

foreach ループ中の要素の更新

foreahループ内での、要素の更新や削除等はできません。 これに対して以下の様な対応が考えられます。 ・For Loop等、別のループを使う ・更新した値をセットする為のCollection等を作る ・LINQのWhereメソッドを使い、必要な要素だけを抽出する ・List.Remo…

継承とコンストラクタ

なにも意識せずに継承クラスを作成した場合、クラスのインスタンスを生成すると、まず親クラスのコンストラクタが呼び出され、その後子クラスのコンストラクタが呼び出されるという動作になります。 しかし、この場合に実行される親クラスのコンストラクタは…

実際に使う修飾子

■C#の修飾子には、ざっくり以下のものが存在する。 public:異なるアセンブリやクラスからアクセスできる private:同じクラスだけで使用できる protected:同じクラスまたは派生クラスだけで使用できる internal:同じアセンブリだけで使用できる protecte…

ファイルパスには逐語的リテラルを使う

ファイルパスの指定には逐語的リテラル"@"を使う。 文字列の頭文字に逐語的リテラル"@"を付けると、当該文字列を一切 エスケープせず、入力した値のまま処理ができる。 ex) @”C:\sample\test"; (*)標準リテラルの場合 "c:\\sample\\test";