ページ

2004年5月25日火曜日

C# 2.0 Specification が更新されているそうです

Eric Gunnerson 氏の blog で発見(Eric Gunnerson's C# Compendium


http://msdn.microsoft.com/vcsharp/team/language/default.aspx にある "C# 2.0 Specification" が更新されているそうです。


24. Nullable type
int? という構文です。int? は Nullable<int> の省略表現です。...なんですが、どうやら (値型、参照型、enum型と同じように) Nullable型というのが増えると思ったほうがいいような感じです。
おぉ、24.3.6 に ?? 演算子なんてものを発見。a ?? b としたとき、a は参照型か Nullable型のみが許され、a が null の場合は b が返り、非 null の場合は a が返る、ということのようです。なるほど、これは結構便利かも。


以下は 25. Other Features の覚え書き。


25.1 Property accessor accessibility
プロパティの set、get それぞれ別々に protected とかが付けれるようになる。


25.2 Static classes
new できないクラス。当然、object 以外からは継承できず、すべてのメンバは static でなくてはいけない。


25.3 Namespace alias qualifiers
新しい namespace の指定方法。
  using A = System.IO;
だと A.Stream とやっても自動的に親も捜してしまうので曖昧になってしまうときがある。しかし、A::Stream とすると 「そこだけ」 の参照になる、ということ?


25.4 Extern aliases
これは 25.3 と似てるけど、さらにアセンブリを指定する方法。そのために extern alias なんて構文が増えてる。extern alias しておいて A::Hoge.Page のように指定。


25.5 Pragma directives
#pragma で warning が制御できるようになったって。


25.6 Conditional attribute classes
今までも ConditionalAttribute はあったけど、これを Attribute に適用できるようになるって。Conditional をつけてある Attribute は、その Attribute をつけている class をコンパイルするときに define されていれば Attribute が付加されるし、されていなければ付加されない。

0 件のコメント:

コメントを投稿