08/07/23 02:52:11
static T Add<T>(T a, T b) where T : struct {
var paramA = Expression.Parameter(typeof(T), "a");
var paramB = Expression.Parameter(typeof(T), "b");
var body = Expression.Add(paramA, paramB);
var lamdba = Expression.Lambda<Func<T, T, T>>(body, paramA, paramB).Compile();
return lamdba(a, b);
}
こんなかんじ
このまま使ったら毎回メソッド生成してとんでもなく遅いはずだからlamdbaはキャッシュしてね