SHOJI's Code
 仕事や趣味で書いた各種言語のプログラミングコード(エクセルVBA,PHP,C/C++/C#,JavaScript等)、その他雑記。
2017.10<<123456789101112131415161718192021222324252627282930>>2017.12
上記の広告は1ヶ月以上更新のないブログに表示されています。
新しい記事を書く事で広告が消せます。

以前「ジェネリック型内での演算」という記事を書いたが、.NET Framework 4ならもっと簡単に書けることに気がついた。

おさらいまでに、以下の様なコードはコンパイルエラーとなる
class Test<T> {
T _value1;
T _value2;

public Test(T v1, T v2) {
_value1 = v1;
_value2 = v2;
}

public T Sum() {
return _value1 + _value2;// 演算子 '+' を 'T' と 'T' 型のオペランドに適用することはできません
}
}



が、.NET Framework 4からサポートしているdynamicを使うと、計算が可能。
class Test {
T _value1;
T _value2;

public Test(T v1, T v2) {
_value1 = v1;
_value2 = v2;
}

public T Sum() {
return (dynamic)_value1 + _value2;
}
}



って、これで、以前の記事で書いたクラスは必要なくなった。

テーマ:プログラミング - ジャンル:コンピュータ
コメント
この記事へのコメント
コメントを投稿する

管理者にだけ表示を許可する
トラックバック
この記事のトラックバックURL
この記事へのトラックバック
以前「ジェネリック型内での演算」という記事を書いたが、.NET Framework 4ならもっと簡単に書けることに気がついた。おさらいまでに、以下の様なコードはコンパイルエラーとなるclass Test { T _value1; T _value2; public Test(T v1, T v2) { _value1 =...
2012/06/08(金) 14:34:33 | まとめwoネタ速neo
copyright © 2004-2006 SHOJI, Powered By FC2ブログ all rights reserved.
上記広告は1ヶ月以上更新のないブログに表示されています。新しい記事を書くことで広告を消せます。