同様の投稿をいくつか見てきましたが、宣言した var1 を別の場所に渡す必要があるようですが、理解できないようです。
public Expression<Func<ElementNode, bool>> CreateEqualNameExpression(string match)
{
var parm = Expression.Parameter(typeof(ElementNode), "element");
var expr = Expression.Call(parm, typeof(ElementNode).GetProperty("Name").GetGetMethod());
var var1 = Expression.Variable(typeof(string), "elementName");
var assign = Expression.Assign(var1, expr);
var parm2 = Expression.Constant(match, typeof(string));
var exp = Expression.Equal(assign, parm2);
return Expression.Lambda<Func<ElementNode, bool>>(exp, new[] { parm });
}
基本的に私は表すメソッドを作成しようとしています
(ElementNode ele) => ele.Name == match;
しかし、私は解決策を思いつくのに本当に苦労しています。どんな助けでも大歓迎です。
エラーが表示されます: タイプ 'System.STring' の 'elementName' がスコープから参照されています'' が、定義されていません。