中の技術日誌ブログ

C#とC++/CLIと
VBと.NETとWindowsで戯れる
 

目次

Blog 利用状況

ニュース

自己紹介

東京でソフトウェアエンジニアをやっています。
お仕事大募集中です。
記事執筆や、講師依頼とかでも何でもどうぞ(*^_^*)
似顔絵 MSMVPロゴ
MSMVP Visual C# Since 2004/04-2013/03

記事カテゴリ

書庫

日記カテゴリ

00-整理

01-MSMVP

IDisposableにたいする思想の違い

C#ではstructに対して制約がないので

public struct a : IDisposable
{
   public void Dispose()
   {
      throw new Exception("The method or operation is not implemented.");
   }
}

こんなIDisposableなstructが作れるけど、C++/CLIでは作れないようだ。

まぁ思想的にIDisposableをstructに設けちゃまずいので意図はよくわかる。

C#にいまさらこんな制限かけられないよね。(^^;;

投稿日時 : 2006年2月26日 10:36

コメントを追加

# re: IDisposableにたいする思想の違い 2006/02/26 11:44 データ

IDisposableをランタイム向けの宣言だけではなく、プログラマ向けの宣言でもあるので、宣言できてもいいような気がしますが。
まぁ使用するプログラマに誤解を与えかねないのは分かりますが...。

for (int i=0; i<1000; i++) {
using (a _a = new a()) {
// _a.method();
}
}
のような場合、classとstructの差は大きいですから、意図的にstructでIDisposeを実装するのはありかと...。

タイトル
名前
URL
コメント