ゆうなんとかさんの雑記帳的な。

Twitterで踊ったり音ゲーしたりしてるあの名前がよくわからない人が書いてるらしいよ。

C#

LINQ to Entitiesではまったところとか

今の会社とは違うとある案件でEntityFrameworkを使っているのですが、なぜかやたら遅くて、原因がわからずじまいでした。 今日はその原因と、そのほかはまりどころがわかったのでメモです。 発行されているクエリを確認する これができないことには原因の調…

式木で動的コード生成やってみた

C#

なれると割と素直に書けるねこれ、めんどくさいけど .NET Framework3.0あたりで追加されて、4.0で強化された式木を使って動的にプロパティをわさわさしてみます。 [雑記] 動的コード生成のパフォーマンス (C# によるプログラミング入門) この辺を参考にやっ…

TreeViewItemとかListViewItemとかをDataTemplateに使うのはいくない

前もはまった気がするんだけど今日もはまってしまったのでメモです。 これで起きる不具合 思ったようにマウスのフォーカスが合いません 当然思ったようにRoutedEventも発火しません もちろん思ったようなコマンドが飛びません そして妥協のコードビハインド…

コントロールをまたいでコマンドを送りたいんです、送れました!

C#

やりたかったこと あるコントロールAは、構成要素として別のコントロールBを持っています。そのコントロールBの構成要素から、AのDataContextが持っているコマンドを送りつけよう、という魂胆です。 いや、DataContextって継承されるじゃん。まああそれはも…

ToString()をオーバーライドして損はない理由

C#

引数なしのToString()です。 実はこういうところで使われているToString() 太字のところで使われています。 アサーションに失敗したときのメッセージ Assert.AreEqual に失敗しました。 が必要ですが、 が指定されました。 デバッガーの変数の内容 名前 : 値…

WPFでコレクションの表示を高速化するオプションとか

ListViewにたくさんのデータを表示することを想定しています。 ItemsPanelにVertualizatingStackPanelを使う 見えていない部分はレンダリングしない(いい意味で)怠惰なStackPanelです。ただし、以下のことをすると仮想化が無効になりただのStackPanelと同じ…

コマンドの作り方と使い方がわからない

C#

WPFのコマンドの話です。 そもそもWPFのコマンドとは イベントハンドラーを抽象化したようなもの、みたいです。操作対象と操作元を特定しない、意味的に抽象化された作業の塊です。 たとえばコピー、貼り付けといった作業は、メニューから選んでポチポチやっ…

.NETでJSONを扱える超軽量ライブラリ「DynamicJson」を見つけた

わずか1つのファイル、300行のライブラリです。作成者は日本人だそうです。 DynamicJson - Source Code全容はこちら C#4.0で追加された動的型をうまく使ったJSONパーサーです。 作者さんのブログにある解説記事です。 使い方 読み取り var json = DynamicJso…