変換方法グループを表現
-
05-07-2019 - |
質問
私はそうとしていることのがある場合は単純な構文に変換する方法をグループを表現。簡単にできそうでな立地となっておりlambdasわけではないので翻訳する方法
され
public delegate int FuncIntInt(int x);
以下のファイルが全て有効です:
Func<int, int> func1 = x => x;
FuncIntInt del1 = x => x;
Expression<Func<int, int>> funcExpr1 = x => x;
Expression<FuncIntInt> delExpr1 = x => x;
だが私と同じインスタンスの方法やりとりするいわゆる"クラウドでの表現
Foo foo = new Foo();
Func<int, int> func2 = foo.AFuncIntInt;
FuncIntInt del2 = foo.AFuncIntInt;
Expression<Func<int, int>> funcExpr2 = foo.AFuncIntInt; // does not compile
Expression<FuncIntInt> delExpr2 = foo.AFuncIntInt; //does not compile
ものになコンパイル"変換できない方法グループのAFuncIntInt'非委譲タイプシステムLinq.表現表現<...>'.ただしを呼び出す方法は?"
であ構文をキャプチャ方法grouです。
おかげさ アルネ
解決
ペギー双葉山です。
Expression<Func<int, int>> funcExpr2 = (pArg) => foo.AFuncIntInt(pArg);
Expression<FuncIntInt> delExpr2 = (pArg) => foo.AFuncIntInt(pArg);
他のヒント
ることも可能でかい NJection.LambdaConverter 委譲をLambdaExpressionコンバーター図書館
public class Program
{
private static void Main(string[] args) {
var lambda = Lambda.TransformMethodTo<Func<string, int>>()
.From(() => Parse)
.ToLambda();
}
public static int Parse(string value) {
return int.Parse(value)
}
}
所属していません StackOverflow