我定义了两个类"表"和"列"。我正在尝试使用层次结构表>列生成XML。我已经为此编写了以下代码。这是Table类中的函数。
Public Function GetXmlTree() As XElement
Dim ColumnNode As XElement = _
<Table>
<Name><%= ObjTable.Name %></Name>
<Columns>
<%= From col As SqlColumn In Columns _
Select col.GetXmlTree() %>
</Columns>
</Table>
Return ColumnNode
End Function
当我调用Column类中存在的函数GetXmlTree时,此代码给出了以下错误,即此部分 col.GetXmlTree()。为什么将函数视为变量。
col.GetXmlTree()函数也返回一个XmlElement。
错误: 范围变量&#39; GetXmlTree&#39;将变量隐藏在封闭块中或 先前在查询表达式中定义的范围变量。
答案 0 :(得分:1)
如果没有完整的代码,很难测试,但请尝试在Select
子句中指定一个名称:
Public Function GetXmlTree() As XElement
Dim ColumnNode As XElement = _
<Table>
<Name><%= ObjTable.Name %></Name>
<Columns>
<%= From col As SqlColumn In Columns _
Select x = col.GetXmlTree() %>
</Columns>
</Table>
Return ColumnNode
End Function