我正在使用表达式(System.Linq.Expressions.Expression),我需要初始化一个整数常量,但是我无法使其正常工作。
如果整数可以为空,这会很好:
Expression cnst;
cnst = Expression.Constant(new Nullable<int>([int value here]), typeof(Nullable<int>));
但是现在我需要将常量设为int,而不是Nullable。但是,如果我使用new int(),则无法初始化常量。 有什么想法吗? 我该怎么办?
答案 0 :(得分:4)
我怀疑您错过了可以输入所需值的方法:
Expression cnt = Expression.Constant(42, typeof(int));
请注意,这也是将其写为可空值的更简单方法:
// This is a nullable integer constant expression, with the value 42
Expression cnt = Expression.Constant(42, typeof(int?));