■26172 / inTopicNo.9) |
Re[4]: C# Windowsサービス、スレッド、デストラクタについて |
□投稿者/ NyaRuRu (65回)-(2008/10/03(Fri) 00:26:03)
|
■No26169 (よねKEN さん) に返信 >>このあたりの用語には変遷があって、少なくとも C# 3.0 仕様に "destructors" という用語は存在します (§10.13) > > C#1.0から普通にありますね。
はい。 C# 1.0 では destructors と呼ばれていましたが、C# 2.0 仕様で一旦 finalizer に名前が変わっています。 このときの経緯は、『プログラミングMicrosoft .NET Framework 第2版』§20.4 の囲み記事にも書かれています。
以下のページから ISO/IEC 23270:2006 をダウンロードできるのですが、§17.12 Finalizers には次のように書かれています。 http://standards.iso.org/ittf/PubliclyAvailableStandards/index.html 17.12 Finalizers [Note: In the previous version of this standard, what is now referred to as a "finalizer" was called a "destructor". Experience has shown that the term "destructor" caused confusion and often resulted to incorrect expectations, especially to programmers knowing C++. In C++, a destructor is called in a determinate manner, whereas, in C#, a finalizer is not. To get determinate behavior from C#, one should use Dispose. end note]
が、Visual Studio 2008 に付属する統合版の C# 3.0 spec. ではやはり destructors のままになっていて、これが単なる直し忘れなのか、それともまた名前を元に戻すつもりなのかは不明です。
|
|