DrawImageと並んで多重定義の数が多いEnumerateMetafileですが、全部で36種類ありました。2 (整数・実数)× 3 (Point、Point配列、Rectangeのいずれか) × 2(Rectangle、GraphicsUnitの有無) × 3 (callbackData、imageAttributeの有無)という具合です。DrawImageと違って引数の取り得る組み合わせが全種類揃っているのが気持ちいいです(DrawImageはところどころ組み合わせに抜けがあります)。ネイティブC++版と.NET Framework版とでオーバーロードの種類も変わりません。
ところでWikiのほうを、引数毎に色分けしてみました。それと併せて、あえて1つのオーバーロードを1行にしてみました。現在は殆ど全ての横スクロールすることになると思いますが、横スクロールをすることになったとしても、このほうが色分けの効果が発揮できると判断しました。ただし今後も色々とより良い形を考え続けて行きたいと思います。早速、仮引数の名前は省略しても良いのではないかと考えています。
スポンサード リンク |
作業おつかれさまです。こんなにも多重定義すると、コンパイルが通るか心配になってきませんか?(記述ミス,ABのバグ等)今までの経験からすると、悲惨な状況にもなりかねない気がしますので…。無用な心配かもしれませんが、少なくとも私は、こういう場合、定期的にコンパイラを通しています。
これからコンパイル通すとすれば、どきどきわくわくですね。
ところが、先取りしてConstを使っているため、まだコンパイルをしたことがないという恐怖の事態に陥っています。
まだMetafileクラスも作っていませんし、当分試すことのできない状態が続きそうです。