C#, C♯, C#相談室 Part91 [無断転載禁止]©5ch.io
■ このスレッドは過去ログ倉庫に格納されています
0415デフォルトの名無しさん
2016/08/28(日) 18:36:26.78ID:hQF+q+Zk>1回だけ is XXXX でswitchしなければならない
その時にパターンマッチング使えば楽だよねって話でしょ
毎回使うかどうかは好みや書き方次第かと
>呼び出しに失敗
拡張メソッドの実装を理解してる?
ExtensionAttributeを静的クラスに付与して、コンパイルの時にそれを見てるだけ。
https://msdn.microsoft.com/ja-jp/library/system.runtime.compilerservices.extensionattribute%28v=vs.110%29.aspx?f=255&MSPPError=-2147217396
継承関係とは違って共通言語仕様に定められていない(はず)なので、全言語が対応していない
例えばShapeクラスとかをライブラリとして公開したとすると、他の言語がShapeクラスを継承した時に必ず拡張メソッドを書いてくれることは保証できない
そうすると、存在しないメソッドは呼び出せないので失敗することになる
何なら、動的に新しい型自体を作成してメソッドに渡すことすらできる。
>実行時に解決
拡張メソッドはそもそもサポートしてない言語もあるし、全く独立したクラスなのでそもそも動的に解決するのが困難
やろうとすればたぶん共通言語仕様とかの変更が必要で影響ばかりでかくて利点が皆無
■ このスレッドは過去ログ倉庫に格納されています