2007年05月07日

Enterprise Library 3.0 - April 2007

  
Enterprise Library 3.0 - April 2007 がリリースされたので、ダウンロードしてみました。

今までは、CTP版のソースを一部改変して利用していたので、WinMergeを利用し、その変更部分を正式版のソースにマージする作業を行いました。

この該当するソースの中には、

 private static Type[] LoadTypesFromAssembly(Assembly assembly) {
Type[] types = null;
try {
types = assembly.GetTypes();
} catch (ReflectionTypeLoadException) {
}
return types;
}

というコードがあって、null を返すことで、GetTypesに失敗していることを上位メソッドに知らせていたわけですが、これだと、ReflectionTypeLoadException例外の情報が消えてしまうので、なんで、わざわざこんなことしてるんだろう? って疑問に思っていました。
まあ、僕よりは遥かに優秀な人たちが書いたコードだから、それなりに意味があるのかな、なんて思っていたのですが、Enterprise Library 3.0 - April 2007 のソースでは、

 private static Type[] LoadTypesFromAssembly(Assembly assembly) {
Type[] types = null;
types = assembly.GetTypes();
return types;
}


と変更されていました。

やっぱり、ここでの catchは不要だったんですね。


 

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