Expressionparameter未正确定义

时间:2015-02-04 09:40:57

标签: vb.net reflection lambda

我在VB.net中使用反射 我尝试使用fortmat

将日期格式化为字符串
  yyyy MM dd

Dim FormatDte As String = "yyyy MM dd"
Dim d1 As Date = Now
Dim ttt1 = d1.ToString(FormatDte) 'It's good

Dim s1 As ParameterExpression = Expression.Parameter(GetType(String), "FormatDte")
toStr = Expression.Call(If(pinfo.PropertyType.IsValueType, Expr, Expression.Constant(Date.MinValue)), "ToString", Nothing, s1)

但我有错误信息:

  

类型'System.String'的变量'FormatDte'是从作用域''引用的,但它未定义

我之前尝试过:

Dim s1 As ParameterExpression = Expression.Parameter(GetType(String), "FormatDte")

这是我第一次使用Expressionparameter。在我看来,我正在追寻艰难的道路。但是由于这个错误,我想我不明白某些事情。

感谢您的帮助

1 个答案:

答案 0 :(得分:0)

对不起......我只是想找几个尝试

toStr = Expression.Call(Expr, "ToString", Nothing, Expression.Constant("yyyy MM dd"))