WEB开发网
开发学院软件开发C语言 C# 4 中的 Expando 对象 阅读

C# 4 中的 Expando 对象

 2010-09-30 22:46:55 来源:WEB开发网   
核心提示: 若要对此数据进行操作,您需要了解您对服务器控件有哪些引用,C# 4 中的 Expando 对象(3),然后妥善实例化这些引用并将它们链接到一个页面中,这些完全能够通过为每个请求使用一个基于 XML 的解析程序来实现,在任何情况下,您都必须通过查询 XML DOM 或 LINQ-to-XML AP

若要对此数据进行操作,您需要了解您对服务器控件有哪些引用,然后妥善实例化这些引用并将它们链接到一个页面中。这些完全能够通过为每个请求使用一个基于 XML 的解析程序来实现。但如果这么做,您就需要为每个请求额外付出解析程序的成本,而这项成本有可能是不可接受的。

考虑到因解析数据而额外增加的成本,ASP.NET 团队决定引入一个一次性步骤,将标记解析到一个类中,而使该类能够动态编译。这样,通过从 Web 窗体页的代码隐藏类派生出的一个专门类,将使用一段类似以下代码的简单标记:

<html> 
<head runat="server"> 
 <title></title> 
</head> 
<body> 
 <form id="Form1" runat="server"> 
  <asp:TextBox runat="server" ID="TextBox1" /> 
  <asp:Button ID="Button1" runat="server" Text="Click" /> 
  <hr /> 
  <asp:Label runat="server" ID="Label1"></asp:Label> 
 </form> 
</body> 
</html>

图 1 显示了由标记创建出来的类的运行时结构。灰色的方法名称指的是内部过程,用于将带有 runat=server 元素的元素解析到服务器控件的实例中。

C# 4 中的 Expando 对象

图 1 动态创建的 Web 窗体类的结构

您可以将此方法应用到几乎任何情况中,只要您的应用程序需要反复接收外部数据以进行处理。以流入应用程序的 XML 数据流为例。有多种 API 可以处理 XML 数据,范围从 XML DOM 到 LINQ-to-XML。在任何情况下,您都必须通过查询 XML DOM 或 LINQ-to-XML API 进行间接处理,或使用相同的 API 将原始数据解析到专门对象中。

上一页  1 2 3 4 5 6 7 8  下一页

Tags:Expando 对象

编辑录入:爽爽 [复制链接] [打 印]
赞助商链接