如何在执行时基于linq查询更改全局变量值

时间:2009-11-10 10:29:05

标签: vb.net linq linq-to-xml

我有两个模块级变量和Linq查询。我希望Let子句的结果能够改变全局变量 - 这可能吗?

例如:

Dim X As Integer = 0
Dim Y As Integer = 0
Sub One()
    Dim query = From e In <picture> _
                    Let X = e.@x _
                    Let Y = e.@y _
                Select <image X=<%= X %> Y=<%= Y %>><%= Two() %></image>
End Sub
Function Two()
    Return <X><%= X %></X>
End Function

我需要做的是在Sub One的查询中分配X和Y,然后让查询自动使用Function Two中的更新值。 Let子句不允许我这样做,因为它只设置查询中的变量。有谁知道解决这个问题?

1 个答案:

答案 0 :(得分:0)

你可以将X和Y作为参数传递给函数Two(),例如

Sub One()
    Dim query = From e In <picture> _
                    Let X = e.@x _
                    Let Y = e.@y _
                Select <image X=<%= X %> Y=<%= Y %>><%= Two(X,Y) %></image>
End Sub

Function Two(X as int, Y as int)
    Return <X><%= X %></X>
End Function