簡體   English   中英

VB.NET XML文字解析

[英]VB.NET XML Literals Parsing

如果我有一個文本存儲在db,file,資源無關緊要:

<code><%= Integer.MaxValue %></code>

有沒有辦法做到這一點:

Dim el As XElement = XElement.Parse({variable containing text above})

並讓它評估表達式Integer.MaxValue?

簡短的回答是否定的。 編譯器知道如何解析它並用類似於C#代碼的東西替換你的源代碼。

測試代碼:

Dim source As String = "a,s,d,f"
Dim ar As String() = source.Split(","c)
Dim el As XElement = <code>
                         <%= From s In ar Select s + "22" %>
                     </code>

反映代碼:

Dim VB$CG$t_i4$S0 As Integer
Dim ar As String() = "a,s,d,f".Split(New Char() { ","c })
Dim VB$t_ref$S0 As New XElement(XName.Get("code", ""))
VB$t_ref$S0.Add(ar.Select(Of String, String)(New Func(Of String, String)(AddressOf Test._Lambda$__1)))
Dim el As XElement = VB$t_ref$S0

不容易。 最接近你可以使用CodeDOM生成一些代碼 - 你需要生成一個包裝模塊和一個帶ReturnFunction ,然后將數據庫中的表達式放入Return - 編譯它(並檢查編譯錯誤),運行它,看看結果。 總而言之,這將是非常緩慢的。

我認為關鍵是了解嵌入式表達式的工作原理。 我已將此問作為一個單獨的問題

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM