Linq 创建IDictionary<;字符串、表达式>;证明困难
我想制作一个命名为LINQ表达式的字典,因为我无法将表达式存储在数据库中。我将存储所需表达式的名称,以及结构化的Linq 创建IDictionary<;字符串、表达式>;证明困难,linq,Linq,我想制作一个命名为LINQ表达式的字典,因为我无法将表达式存储在数据库中。我将存储所需表达式的名称,以及结构化的IList,其中T是可以存储在数据库中的参数类型 但这并不是我想要的那样。。。我有下面的布局。这不是一个真正的表达式,我只是想暂时编译一些东西 public static class Evaluations { public static Dictionary<string, Expression> Expressions = new Dictionary&
IList
,其中T
是可以存储在数据库中的参数类型
但这并不是我想要的那样。。。我有下面的布局。这不是一个真正的表达式,我只是想暂时编译一些东西
public static class Evaluations {
public static Dictionary<string, Expression> Expressions = new Dictionary<string, Expression> {
{
"First Expression",
new Expression<Func<int, int, int>> =
(current, next) => (current + next)
}
};
}
公共静态类求值{
公共静态字典表达式=新字典{
{
“第一句话”,
新表达=
(当前,下一个)=>(当前+下一个)
}
};
}
然而,有人告诉我。。。嗯,几乎没什么。编译器错误毫无意义。简单地说
这不是一个变量
如何将
System.Linq.Expressions.Expression
添加为我的IDictionary
的值
?有什么建议吗?这不是一个有效的表达:
new Expression<Func<int, int, int>> =
(current, next) => (current + next)
新表达式=
(当前,下一个)=>(当前+下一个)
你想给什么赋值
我想你的意思是:
(Expression<Func<int, int, int>>)((current, next) => current + next)
(表达式)((当前,下一个)=>当前+下一个)
这很好:
public static Dictionary<string, Expression> Expressions =
new Dictionary<string, Expression> {
{
"First Expression",
(Expression<Func<int, int, int>>)((current, next) => current + next)
}
};
公共静态字典表达式=
新词典{
{
“第一句话”,
(表达式)((当前,下一个)=>当前+下一个)
}
};
这不是一个有效的表达式:
new Expression<Func<int, int, int>> =
(current, next) => (current + next)
新表达式=
(当前,下一个)=>(当前+下一个)
你想给什么赋值
我想你的意思是:
(Expression<Func<int, int, int>>)((current, next) => current + next)
(表达式)((当前,下一个)=>当前+下一个)
这很好:
public static Dictionary<string, Expression> Expressions =
new Dictionary<string, Expression> {
{
"First Expression",
(Expression<Func<int, int, int>>)((current, next) => current + next)
}
};
公共静态字典表达式=
新词典{
{
“第一句话”,
(表达式)((当前,下一个)=>当前+下一个)
}
};
您确定需要表达式吗?如果不需要Linq.Expression,可以直接使用Func。是否确实需要表达式?如果不需要Linq.Expression的话,可以直接使用Func。是的,是表达式部分的装箱对我不起作用。谢谢。@Ciel:没有拳击比赛,现在仍然没有。。。是的,是表达式部分的装箱对我不起作用。谢谢。@Ciel:没有拳击比赛,现在仍然没有。。。正是语法给你带来了问题。