2010年10月31日

このテクニックはどうなんだろう?

  
僕の Silverlightの知識は、Silverlight2 で止まっているので、
Silverlight4の知識を得ようと、Think IT の記事「連載:これからはじめるSilverlight 4」を読んでいるのですが、

第7回 DataGridコントロールの新しい2つの機能を使う
に掲載している以下のコードで、ちょっと不思議に思った コードがありました。

ページの中ほどにある以下のコードを引用します。
問題の箇所は、★印の箇所。
ループの度に、CollectionViewSource をnewしてるけど、そのインスタンスである myCollectionViewSource を参照しているのは、ループの外側だけです。
つまり、100回 new されたとしても、最後に new されたインスタンスしか 参照されていません。

まあ、無駄なnewをしているけど、期待した動きにはなっているから、 実害は無いのですが、とても気になってしまいます。

これは、ループの外側に移動させるべきだと思うんだけど、どうなんだろうと 思いながら、次のコードを読むと、
myCollectionViewSource が null かどうかを見て、要素があるかどうかを 判断しているコードがありました。
ここまで来て、★印の箇所が、たんなる勘違いではなく、意図的にやっていることが わかりました。
でも、こういったテクニックってどうなんだろう?
一般的なのでしょうか?
僕には、到底受け付けられないテクニックです。

まあ、この記事は、Silverlightの機能を紹介するページであって、コードをどう書くべきかを説明するページではないので、そのまま素通りしても良いのですが、気になったので、ここにアップしました。


 

この記事へのトラックバックURL

http://trackback.blogsys.jp/livedoor/gushwell/52084432