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

先日、C#でクラスを作っていて、内部で保持する数値の型を汎用的にしたくて、以下のように型パラメータにしたのだが、
ublic struct DataValue<T>
{
T _value;
    ・
    ・
    ・
}


この _value ... 演算できないのである。

型パラメータの制約などで、どうにかなるのかな?と思っていろいろ調べてみたが、該当するようなものはなし。
さらにいろいろと調べていったところ、Expressionクラスなるものを発見。備忘録として載せておく。
public static T add<T>(T value1, T value2)
{
ParameterExpression x = Expression.Parameter(typeof(T), "x");
ParameterExpression y = Expression.Parameter(typeof(T), "y");
return Expression.Lambda<Func<T,T,T>>(Expression.Add(x,y), x, y).Compile()(value1, value2);
}


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

管理者にだけ表示を許可する
トラックバック
この記事のトラックバックURL
この記事へのトラックバック
copyright © 2004-2006 SHOJI, Powered By FC2ブログ all rights reserved.
上記広告は1ヶ月以上更新のないブログに表示されています。新しい記事を書くことで広告を消せます。