1 回答

TA貢獻1829條經驗 獲得超6個贊
我的問題是:為什么會發生這種情況?
發生這種情況是因為DynamicExpression
使用了自定義構建的表達式解析器。它被制作成類似于 C#,但它不是 C#。并非所有在 C# 中有效的東西都能正常工作,而且在 C# 中有效的一些東西的工作方式也不同。
解決雙 * 十進制問題的最佳方案是什么?通過(十進制)5.7 轉換我知道是十進制的值還是使用 Convert.ToDecimal(5.7)?
投射,但不使用這種語法。使用的語法是type(expr)
,不是(type)expr
,見下文。
parse() 到底知道多少?(我沒有在 msdn 等上找到文檔)
原始文檔的副本似乎可在http://ak-dynamic-linq.azurewebsites.net/GettingStarted 獲得。我尚未驗證整個文檔是否未經修改,但我已將以下內容與原始文檔進行了比較。
去引用:
表達式語言允許使用語法顯式轉換
type(expr)
或type"string"
,其中類型是類型名稱任選地接著?
與EXPR是一個表達式或串是字符串文字。此語法可用于執行以下轉換:
提供的兩種類型之間
Type.IsAssignableFrom
在一個或兩個方向上都是正確的。在提供的兩種類型之間,一種或兩種是接口類型。
介于任何值類型的可空和不可空形式之間。
在字符串和任何具有靜態 TryParse 方法的類型之間。
屬于包括以下各項的集合中的任何兩種類型之間
SByte
,Byte
,Int16
,UInt16
,Int32
,UInt32
,Int64
,UInt64
,Decimal
,Single
,Double
,Char
,任何枚舉類型,以及所述可空這些類型的形式。
- 1 回答
- 0 關注
- 223 瀏覽
添加回答
舉報