当前位置:首页 > 网络编程 > WEB编程 > ASP.net >  ASP.NET可交互式位图窗体设计(6)

 ASP.NET可交互式位图窗体设计(6)

点击次数:28 次 发布日期:2008-11-26 15:25:51 作者:源代码网
源代码网推荐      使我们的对象可序列化
源代码网推荐    为在 ASP.NET 中使用可绘制对象类,我们需要对其再进行一项更改。这些类需要是可序列化的,以便能够在主要的 Web 页和生成该图像的 Web 页之间传递数据(后面将详述)。序列化是这样的过程:将某个类的数据以某种方式写入存储介质,以便存储和/或传递数据并在以后反序列化。反序列化是从序列化数据中重新创建对象的过程。我们会在将来的专栏中深入讨论这个问题。
源代码网推荐  
源代码网推荐    Dr. GUI 最开始作为 Windows 窗体应用程序编写此应用程序时,只使用了 .NET Framework 和操作系统预先分配的 Brushes 和 Pens 类中的可用常用画笔和笔。因为这些已经分配完毕,保持对它们的引用不会有任何妨碍,同时也无需对其进行 Dispose。
源代码网推荐  
源代码网推荐    但由于笔和画笔是非常复杂的对象,不能是可序列化的,因此 Dr. GUI 必须改变其策略,转而决定存储笔和画笔的颜色,然后在需要绘制和填充对象时动态创建笔和画笔。
源代码网推荐  
源代码网推荐    如何使之可序列化?
源代码网推荐    序列化是 .NET Framework 的一个重要部分,因此也使序列化对象的工作变得很简单。
源代码网推荐  
源代码网推荐    我们只需使用 Serializable 属性标记一个类便可使之可序列化。(这与我们以前用于在枚举上将其标记为一套标志的属性是同一种属性。)在 C# 和 Visual Basic .NET 中的语法如下所示:
源代码网推荐  
源代码网推荐  
源代码网推荐  C#
源代码网推荐  
源代码网推荐  [Serializable]
源代码网推荐  class Foo // ...
源代码网推荐  Visual Basic
源代码网推荐  
源代码网推荐  .NET _
源代码网推荐  Class Foo " ...
源代码网推荐  
源代码网推荐  
源代码网推荐    注意:除了将类标记为可序列化外,还必须使类中包含的所有数据可序列化,否则在试图序列化数据时,序列化框架会引发一个异常。
源代码网推荐  
源代码网推荐    使容器可序列化
源代码网推荐    .NET Framework 的一大优点是可以使容器类可序列化。这意味着如果将对象存储在可序列化的容器中,容器可以自动序列化对象。
源代码网推荐  
源代码网推荐    因此在本例中,DShapeList 类包含了两个 ArrayList 对象。由于 ArrayList 是可序列化的,因此要使 DShapeList 可序列化,只需将其标记为 Serializable 属性即可,如下所示:
源代码网推荐  
源代码网推荐  
源代码网推荐  Visual Basic
源代码网推荐  
源代码网推荐  .NET _
源代码网推荐  Public Class DShapeList
源代码网推荐  Dim wholeList As New ArrayList()
源代码网推荐  Dim filledList As New ArrayList()
源代码网推荐  " ...
源代码网推荐  
源代码网推荐  
源代码网推荐  C#
源代码网推荐  
源代码网推荐  [Serializable]
源代码网推荐  public class DShapeList {
源代码网推荐  ArrayList wholeList = new ArrayList();
源代码网推荐  ArrayList filledList = new ArrayList();
源代码网推荐  
源代码网推荐  
源代码网推荐    假设我们放在 DShapeList 中的对象都是可序列化的,这时便可以使用单个语句序列化和反序列化整个列表!
源代码网推荐  
源代码网推荐    顺便说一下,这对于该应用程序的 Windows 窗体版本也是一个很好的改变,因为它使我们能够将绘图写入磁盘文件并重新加载。
源代码网推荐  
源代码网推荐    可绘制对象的三个版本;任何一个都可以在任何上下文中使用
源代码网推荐    您可能已经注意到,我们有三种版本的可绘制对象代码:在 C# 和 Visual Basic .NET 中各有一个不使用我们在上面编写的 helper 方法的版本,另一个是 Visual Basic .NET 中使用 helper 方法的版本。
源代码网推荐  
源代码网推荐    在这里还有一点微小的差别:使用 helper 的文件中的数据类被标记为可序列化;其他文件中的数据类则没有标记为可序列化。
源代码网推荐  
源代码网推荐    但是,请注意下面很重要的一点:如果我们返回去并将所有文件中的数据类标记为可序列化,那么将能够在任何应用程序中使用任何类。我们将能够混合使用 C# 和 Visual Basic .NET。并且能够在 ASP.NET 应用程序中使用最初为 Windows 窗体应用程序编写的代码。
源代码网推荐  
源代码网推荐    这种简便的代码重用意味着您编写的代码更具价值,因为代码可以在很多不同的环境中重复使用。
源代码网推荐  
源代码网推荐    做人要厚道,请注明转自酷网动力(www.ASPCOOL.COM)。
源代码网推荐


源代码网供稿.
网友评论 (0)
会员中心
网络编程
本站推荐
网络编程之精华