2004-08-22から1日間の記事一覧

right-shift operator

C#

Generics の文法を標準 C++ のテンプレートと似せて <T> としたため、C++ 同様に右シフト演算子(>>)と2重になった Typed-parameter(List<Nullable<int>>)の終端を区別する必要ができました。 このため、文法定義に right-shift と right-shift-assignment が追加され、op</nullable<int></t>…

static class

C#

名前でだいたい想像できますが、static member しか持たないクラスです。 常に abstract かつ sealed です。 常に System.Object から派生します。 インターフェスを実装できません。 const でないすべてのメンバは static である必要があります。 メンバは …

extern alias

C#

using の alias と似たようなものですが、異なるアセンブリに存在するまったく同じ名前のクラスを区別するための別名を定義します。 Foo.dll と Bar.dll に同じネームスペースを持つ class X が存在する場合、C# 1.2 では双方を区別するのが非常に面倒でした…

namespace alias qualifier

C#

namespace ブロック内ではクラス名やネームスペースを相対指定できます。 using Foo; namespace A.B.C { // : public void method() { X.Y y = new X.Y(); } のようなとき、y は A.B.C.X.Y、A.B.X.Y、A.X.Y、Foo.X.Y, X.Y と検索されますが、このうち2つ以…

C# 2.0 pickup not pickup

C#

以下、あまり目だって取り上げられてない C# 2.0 の新機能をピックアップしてみました。 英語でどう書くのがよいんだろうか(苦笑)

プロジェクトファイルに互換性がない?

まだベータなのでリリース時期で違っただけかもしれないし、正式リリースで同じ形式ならかまわないのですが、VS2003 と VS2005 beta と VC#2005 beta でプロジェクトファイルに互換性がありません。 というか、MSBuild に統一されるんだっけ?

コンソールサポートがない?

Visual C# 2005 Express beta1 (English) にはあったコンソールウィンドウ*1が、Visual Studio 2005 Architect Edition beta1 (Japanese) には存在しない? そういえば Visual C# 2003 上でコンソールアプリを実行すると .bat にターゲットアプリを動かした…