.NET

コンソールでWF

WFといえば、GUIでお絵かきが目立ちますが、本質は宣言的にプログラミング可能にするモデルだったりします。勉強のためGUIを使わずにWFのコーディングを行ってみたいと思います。まず、最初はHello, Worldから。

ReSharperのショートカットキー

自動設定されないのが気に入らないのでVS2005の英語版にしました。この状態で設定をエクスポートしてショートカット部分だけをコピペすれば、日本語版VS2005でもいけるのかな。試そうにも職場、自宅ともに英語版にしちゃったよ・・・(^^;

AOPのパフォーマンス

S2.NETではRealProxyとDynamicProxyが選択可能なのでパフォーマンスの違いを見てみました。ポイントはDIコンテナの読み込み時間とAOPの割り込みコスト。

コンストラクタから仮想関数を呼ぶ

C#の場合、オーバーライドされたメソッドが呼び出されます。C++出身の私としては違和感がありますが、ふと、C++/CLIだとどーなるか気になりました。

MSDNオフライン

・第 15 回 「CLI の実装手法とビジネスへの応用例」 ついフラフラと申し込んでしまいました。仕事が入らないようにスケジューリングしないと・・・

ReSharperのNightly Builds

・Nightly Builds - ReSharper - Confluence 始まったみたい。

Chrome?

Reflectorの言語選択にChromeというのを発見。ぐぐってみたら、Object Pascalの派生らしい。 ・大发888真人 - 888真人官方网站 - 大发888真人网址 コマンドライン版は無償とのこと。

DataTable.Selectの怪

DataTable.Selectの実験で期待はずれな結果が。 cache.Tables[tableName].Select (condition.GetFilter ()); condition.GetFilter()は、 FIRST='XXX' AND LAST='YYY' を返すとします。この場合、検索は高速でした。ところが、 (FIRST='XXX' AND LAST='YYY') …

ReSharperのショートカットキー

設定されないのは何故かと調べていたら Unfortunately, automatic keyboard shortcuts setting does not work with localized versions of VS.NET (German, Italian etc). This is a known problem. The reason is that shortcut names in VS.NET are locali…

アプリケーションテンプレート

http://www.microsoft.com/japan/msdn/coding4fun/weekend/apptemplate/default.aspx よく使用するプロジェクトの種類がそのリストにない場合はどうすればよいでしょうか。 もちろん、毎回、手作業! え、独自テンプレート作れるの? よーし、.vstemplateを…

ReSharperのMbUnitサポートは?

Unfortunately, the mbUnit support plans are not in the nearest future ReSharperフォーラムの回答によると、しばらくは未対応とのこと。S2Unit.NET使いたかったのに・・・(^^;

プロジェクトの参照設定取得

カスタムツールによる自動生成ですが、生成したコードがビルドエラーになるのは困ります。たとえば、クラスにSeasar2.Dao.Attrs.Bean属性を付けるのなら、Seasar.Dao.dllが参照に追加されていなければなりません。なので、現在のプロジェクトの参照設定を取…

EntityBuilderのS2Dao.NET対応

元々、EntityBuilderを作成したのは、S2Dao.NETのためだったりします。Entityクラスを作るだけでなく、対応するインタフェースまで自動生成して完成です。ちょっと時間が掛かりましたが、やっと目的を達成しました。

JScriptに対するCodeDom

昨日のEntityBuilderですが、JScriptはGenerics対応していないので、そのままだとコンパイルできないコードを吐き出します。ということで、 unit.Namespaces[0].Imports.Add(new CodeNamespaceImport("System")); foreach (CodeNamespace ns in unit.Namespa…

InternalsVisibleTo

アクセス修飾子としてinternalを付けると同一アセンブリ内からしかアクセス出来なくなります。しかし、ユニットテストとかからは例外的に呼び出したいこともあります。そんな時にInternalsVisibleTo属性が使えるみたいです。 using System; using System.Run…

SQLによる例外処理

個人的には例外はキャッチしない方針なのですが、SQL関連の例外についてはそうも行きません。重複やNULL制約などは例外ではなくエラー扱いにしたいところです。 try { int cnt = IUserDao.Insert(user); } catch (SQLRuntimeException ex) { // SQLRuntimeEx…

log4netのヘッダ、フッタ

log4net-1.2.10を使っているのですが、ヘッダ、フッタに改行が入らずに悩みました。 <layout type="log4net.Layout.PatternLayout"> <param name="Header" value="[Header]\r\n" /> <param name="Footer" value="[Footer]\r\n" /> <param name="ConversionPattern" value="%-5p %d [%t] %m [%c]%n" /> </layout> あちこち見た感じ、これで良さそうなんですが、1.2.10から変わったのかしら?

OracleClient vs ODP.NET

Oracle用のプロバイダとしては、Microsoftが提供するOracleClientとOracleが提供するODP.NETがあります。当然、Oracleが出している方が高性能なんですが、以下のようなデメリットがあります。 標準では入っていないのでダウンロードする必要がある Visual St…

オブジェクトのシリアライズ

型付DataSetが使えない場合のことも考えて他の案も調査することに。S2Dao.NETを使った場合、Pureなクラスを扱うことになります。サーバー側のロジックを組む分には、こっちの方が都合が良いくらいなんですが、これをクライアントに返すときにが問題。型毎にW…

自動トランザクション

モノの本には、よほど性能にシビアな環境でなければ、自動トランザクションで問題はない、とあったので楽観的にこれで行ってみよう。(^^;

トランザクション

・http://www.microsoft.com/japan/msdn/net/general/introsystemtransact.aspx 自分のためのメモ。

型付きDataSet

10年以上Pro*C/C++を使ってSQLを発行していた身としては、便利すぎて卒倒しそうです。(^^; ただ、VS2005のデザイナーを使って自動生成したタイミングでカラム長がハードコーディングされるのは、私としては好ましくないです。

ASP.NET2.0のデザイナ

2.0になって初めてASP.NETにさわったのですが、デフォルトがフローレイアウトになっているんですね。最初、どーやって絶対位置に配置するか悩みました。(^^;

WebServiceで渡せるデータ型

WebServiceの実験メモ。 XML Web サービスの型マーシャリング 基本的に、ここに書いてある通りですが、若干補足。 WebMethodにジェネリックメソッドは駄目 パブリックなプロパティでも読み取り専用の場合は無視される プリミティブな値型(intやdoubleなど)は…

続WebServiceで渡せるデータ型

ユーザ定義のクラスや、クラスの配列が渡せますが、ちょっと変則的な事をやろうとして躓きました。(^^;

beforefieldinitの逆襲

ちょっと昔のネタですが http://d.hatena.ne.jp/akiramei/20051125/p1 静的コンストラクタを書くとbeforefieldinitが付かないので望み通りの動作になります。 このときは、Singletonパターンの定石として紹介しましたが、世の中うまい話ばかりでは・・・

継続的インテグレーション

・CruiseControl.NET 自分のマシンに入れて実験君。ソース管理がVSSでビルドはMSBuild。くだらないミスで2時間くらい嵌って、やっと動きました。(^^;

ユーザ定義型

ODP.NETからStoredProcedureの呼び出しについて調査中。基本的な型及び、その配列については問題ないのですが、ユーザ定義レコードはサポートしていないみたいです。色々調べてみるとユーザ定義型はいけそうなので、実験。 create type person IS OBJECT(nam…

はじめてのWindows Workflow Foundation

一部で注目されているWFに手を出してみることに。WFってどんなモノかイメージが掴みにくいですが、フローチャートを絵で描いて処理を埋め込んだらプログラムが完成するよーな感じです・・・が、多分、さっぱり通じないので、絵付きで。(^^;

続々Entity Generator

スパゲッティになっていたので、BNFの解析をInterpreterパターンで書き換えました。スッキリしましたがクラスの数が50以上に。(^^;で、構文解析ですが、表制約やカラム制約をみてNOT NULL(プライマリキー含む)でなければ、Nullable型にするようにしました。…