2007-08-01から1ヶ月間の記事一覧

ToString() のオーバーライドを強制したかったのに…

C#

interface IHoge { string ToString(); } こうやって ToString() のオーバーライドを強制しようとしたら、 public class Hoge : IHoge { } でも通るという…。そりゃそうだわなぁ。

シープラプラ

Yahoo!翻訳が C++ を「シープラプラ」とか半端に訳してくれて吹いたw geek festa とかはうまく訳してくれる、小粋なやつです。

内部イテレータと外部イテレータ

C#

ときどき聞く言葉ですが、違いを知らなかったのでちょっと調べてみました。GoFのデザインパターンの聖典(^^;に記述がありました。 それによると、イテレータの内部でぐるぐる回すのが内部イテレータ。対して、イテレータを使ってイテレータの外で回すのが外…

C#3.0仕様 正式版

C#

http://download.microsoft.com/download/3/8/8/388e7205-bc10-4226-b2a8-75351c669b09/csharp%20language%20specification.doc正式版が出たそうです。参考訳でもいいから日本語版が欲しいなっと。 via http://blogs.msdn.com/charlie/archive/2007/08/20/c-…

アクセス修飾子

C#

トップレベルの型のアクセス修飾子は C# の public は IL でも public。C# の internal が IL では private なだけだった。入れ子の型はいろんなのがあるけど。わかってしまえば、なんだそれだけかという例。

β2 での anonymous type

C#

以前からちょこちょこ書いてきたようにβ2で匿名型が「不変な型」に変わりました。いったん生成したらもう値は変更できません。どう変わったか、最小のコードを書いて、Release でのコンパイル結果を ILdasm で見てみました。 class Program { static void Ma…

Tidy

HTMLを機械的に処理したいことがときどきあるんだけど、そのHTMLが壊れたHTMLだと扱いが大変です。ネスケとIEが壊れたHTMLをがんばって表示してくれたおかげで、世の中のHTMLは壊れてることが普通によくあります。まったく余計なことを…。 そこで壊れたHTML…

LINQ IQueryable provider を作る方法

C#

http://blogs.msdn.com/mattwar/default.aspxIQueryableを実装して LINQ to hoge を作る方法が連載されています。インタプリタパターンでミニ言語を作る方法そのものなので、あまりお目にかかれないVisitorパターンとインタプリタパターンの解説としてもよい…

LINQ to SQL Debug Visualizer

C#

おなじみスコットガさんのblogから。この人は本当にマネージャなんだろうか。 http://weblogs.asp.net/scottgu/archive/2007/07/31/linq-to-sql-debug-visualizer.aspxLINQ to SQLはC#の中の言語内DSL(ミニ言語)なので、どういうSQLを発行するのか?ってのが…