C#
先週コマンドバインディングを学び、WPFのバインディングに関しては一応基礎的な部分はお抑えられたのかなと思い、今度はMVVMにのっとって実際に何か作ってみようということで今回Todoアプリを簡単に書いてみました。 MVVMパターン MVVMは役割に応じてModel…
久しぶりにWPF +MVVM関係です。 データバインディングについては基本的な部分は以前やりまして、今回はコマンドについて勉強しました。 コマンド コマンドはXamlでの操作に対応して、実行される処理を定義したもの?みたいです。 コマンドとバインディングす…
前回に引き続き並列処理について Task Taskクラスは.NET Framework 4から使えるクラスで、重い処理を最小限に抑えるためにうまくやってくれているそうです。 前回のを書き換えてみました。 using System; using System.Collections.Generic; using System.Li…
並列処理 仕事では業務アプリを主に担当しているのですが、仕事上で並列処理を使われているのを実はほとんど見ません。 (実行ボタンを押してから、処理完了まで30分以上かかかるものも多々あるのに…その間はプログラムはフリーズ状態です…) 並列処理、マルチ…
コレクションのバインディング using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; namespace _0721Study { class UserCollenction { public UserCollenction() { User user1 = new Use…
型コンバーター データバインド「もと」と「さき」で異なる型になる場合があると思います。 例えば、Textプロパティに対して日付型をバインドした場合、日付型をToString()形で自動変換されたものが表示されます。 前回の例でいうとDateTime型の「誕生日」は…
現在の職場においてもWPFを使って書かれたソフトがあり、ときどき触ります。 その職場で触るコードなのですが、データバインディングを行わず、 コードビハインドコード内で、直接コントロールのプロパティを変更しております…。orz データバインディング xa…
イベント Visual Studioによって、特に考えることなく、イベント機能を使っていましたが、 イベントはあらかじめ、メソッドの参照オブジェクトを保有しておくことで、機能を実現しているようです。 イベントは発生を監視するイベントループと、イベント発生…
参照渡し メソッドに引数を渡すときに値ではなく引数の参照を渡すことができます。 メソッドと呼び出し側双方ともに「ref」をつけることで参照渡しであると明示します。 呼び出し側でrefと書くのは知らないうちに参照渡しになっていて、値が書き換えられてい…
マルチキャストデリゲート デリゲートオブジェクトは複数のメソッドを管理することも可能で、それをマルチキャストデリゲートと呼ぶそうです。 using System; namespace test { class Program { delegate void Greet(); static void Main(string[] args) { /…
前回学んだデリゲートから、さらに匿名メソッドとラムダ式を自習。 匿名メソッドとラムダ式 匿名メソッドは名前のないメソッドのことで、デリゲートの生成においてその対象を直接埋め込む際に使うことができます。 匿名メソッドはさらに簡易的に書くことがで…
デリゲート delegate(デリゲート)はC#の型の一種で、メソッドへの参照を持つデータ型。 JavaScriptでfunctionも変数で受け渡しできるよっていうのと同じようなイメージを持っています(?) using System; namespace test { class Program { static void Mai…
いまさらですけど、ちょっとあやふやになっていたC#の文法を改めて学びなおしています。 yieldについて 自分でコレクションクラスを作る場合、イテレータのインターフェースに対応するメソッドを実装必要があるけど、簡単に実装できる方法がイテレータ構文(y…