2007-12-10から1日間の記事一覧

IDisposable(2)

Disposeメソッドが例外で落ちたときでも他のDisposeメソッドが呼ばれるかどうか。 using System; class Program : IDisposable { private static int count = 0; private readonly int id = count++; public void Dispose() { Console.WriteLine("dispose {0…

IDisposable

C#ではICloneableなのにIDisposableなのか。 というのは置いといて、C++のデストラクタに近いのがDisposeメソッド。このメソッドはIDisposableインターフェイスのメソッドで、using文と併用することでRAIIなクラスが作れる。 class Program : IDisposable { …

デストラクタ

C#のデストラクタはC++のデストラクタより、Javaのファイナライザに近い。 ~SomeClass() { ... } こんな感じで書き方としてはC++と同じだけど、 protected override void Finalize() { try { ... } finally { base.Finalize(); } } な感じに変換。 これをJav…

staticクラス

C#でインスタンスの生成が不可能なユーティリティ用クラスを作る場合、staticクラスというのが使えるらしい。 static class SomeUtils { public static void SomeMethod() { ... } } こんな感じでclassにstaticつけるだけで、このクラスはインスタンスの生成…

C#

なんか仕事で使いそうな勢いだからプログラミングC#―C#2.0/.NET2.0/Visual Studio2005対応作者: ジェシーリバティ,Jesse Liberty,鈴木幸敏,首藤一幸,情報技研出版社/メーカー: オライリージャパン発売日: 2006/02メディア: 単行本購入: 1人 クリック: 22回こ…