- 444 名前:デフォルトの名無しさん mailto:sage [2016/08/28(日) 21:37:38.11 ID:+mkoP4gZ.net]
- >>424
それが、「コンパイルには通るが拡張メソッドを呼ぶと失敗する」例だというのなら、 言いたいことは分かった。 ただ、それは失敗して当然というか、 「知らない図が書けない」だけであって、実装してない部分が動かないだけ。 丁寧にやるのなら、拡張メソッドがない場合に□を 出力して対応するしかないし、それだけでしかない。(文字化けのようなもの) (C#に実装の有無を確認する方法があるかどうかは知らない。 JavaScriptでは問題なく出来る。 拡張メソッドが多態出来るのなら、親(Shape)に□を表示させるメソッドを実装しておく) 別にそれは正しく全てを実装する時に手間が増えるわけでもない。 dllが他言語から供給されたとしても関係ない。 そもそもそちらの言うとおりShapeが演算用クラスであった場合、 クラスを追加する側にこちら『だけ』で使っている拡張メソッドを実装してくれと言うのが無理。 拡張メソッドは使う側が全部管理しなければならないだけ。実装も。 実装を強制する方法はないが、その必要もない。 自前で実装済みかどうかを判定して対応するのみ。 (定義を確認する方法がないのなら困ったことになるが、 それでも最悪try-catchは出来ると思うが、駄目なのか?)
|

|