zoukankan      html  css  js  c++  java
  • 现实世界四部分类和部分方法的使用

    表的内容 介绍部分类的基础部分方法的基础使用数字1:ASP。NET自动生成代码2:LINQ和实体框架使用3:通过压缩大型类来更好地维护使用4:多人在同一个类上工作 介绍 最近我正在研究分部类及其在现实世界中的使用。谷歌上的许多帖子都谈到了“部分”的概念 类和分部方法,但很少强调在什么场景中使用它们。 在本文中,我们将首先介绍部分类和方法的基础知识,然后进行讨论 现实世界的四种用途。我还在这里创建了一个视频,在其中讨论了部分类并展示了它们在现实中的用法。 部分类基础 分部类允许将单个类划分为两个单独的物理文件。在编译时,这些文件被编译成单个类。 例如,您可以在下面的图中看到,我们将customer类划分为两个不同的文件“customer1”。cs”和“customer2.cs”。 在编译期间,这些文件在内部被编译为单个类。因此,当您创建Customer类的对象时,您将能够 要查看位于两个物理文件中的方法。例如,您可以看到Add方法属于customer1.cs,而Delete方法属于 customer2。但是当创建了Customer对象时,我们可以同时看到Add和Delete方法。 部分方法的基本原理 在分部类中还有一个更重要的概念叫做分部方法。分部方法帮助我们在一个物理文件中定义方法 我们可以在另一个物理文件中实现该方法,如下图所示。 在图中,您可以看到我们在Customer1.cs中定义了验证方法,这个验证方法在Customer2.cs中实现。 请注意这两个方法附带的部分关键字。 使用第一个:ASP。NET自动生成代码 分部类的最大用途是在需要生成代码的技术中。微软团队本身在ASP中使用分部类。NET, LINQ,和EF代码生成。 例如,当我们看ASP。NET中包含两个部分:页面的自动生成代码和编写自定义逻辑的代码。 自定义逻辑写在" .aspx。而自动生成的逻辑在“.aspx. desigator .cs”文件中,如下图所示。 作为一名开发人员,您希望自动生成的代码来完成它的工作,即。,当您在ASP中拖放按钮时生成代码。网络设计师。 下面是如何自动生成的代码看起来像: 隐藏,收缩,复制Code

    public partial class WebForm1 {
            
        /// <summary>
        /// form1 control.
        ///    /// <remarks>
        /// Auto-generated field.
        /// To modify move field declaration from designer file to code-behind file.
        /// </remarks>
        protected global::System.Web.UI.HtmlControls.HtmlForm form1;
        
        /// <summary>
        /// Button1 control.
        /// </summary>
        /// <remarks>
        /// Auto-generated field.
        /// To modify move field declaration from designer file to code-behind file.
        /// </remarks>
        protected global::System.Web.UI.WebControls.Button Button1;
            
        /// <summary>
        /// Label1 control.
        /// </summary>
        /// <remarks>
        /// Auto-generated field.
        /// To modify move field declaration from designer file to code-behind file.
        /// </remarks>
        protected global::System.Web.UI.WebControls.Label Label1;
    }

    同时,您还希望在其他文件中定制代码,这样自动生成部分就不会受到干扰。为此,ASP。网络提供了 " . aspx。这是一个分部类,你可以放你自己的自定义逻辑。 隐藏,复制Code

    public partial class WebForm1 : System.Web.UI.Page
    {
        protected void Page_Load(object sender, EventArgs e)
        {
            // Your custom logic
        }
    }

    这只有在类被分割成两个物理文件,但通过partial关键字统一时才可能实现。如果你看任何一个ASP。NET代码后置类文件, 它会被标上“partial”这个词。 通过使用ASP中的partial关键字。NET,微软团队让VS和开发人员并肩工作,这样就不会浪费彼此的代码,从而提高了工作效率。 使用2:LINQ和实体框架 由于这些技术的自动生成特性,LINQ和EF也大量使用部分类和方法。当你在这些框架中拖动表格时, 它们创建自动生成的类,如下图所示。 在图中,您可以看到自动生成的代码如何具有partial类和partial方法。 之后可以扩展分部方法来放置自定义逻辑。例如,您可以在下面的代码中看到,对于上面自动生成的类tblCustomer, 我们使用了部分方法来覆盖OnCustomerCodeChanged事件,以确保客户代码不超过8个字符。 隐藏,复制Code

    public partial class tblCustomer
    {
        partial void OnCustomerCodeChanged()
        {
            if (_CustomerCode.Length > 8)
            {
                throw new Exception("Customer code can not be greater than 8");
            }
        }
    }

    因此,通过使用分部类和分部方法,LINQ和EF保持自动生成类,通过使用分部方法,我们可以用自己的逻辑定制类。 使用方法3:通过压缩大型类来更好地维护 分部类的另一个重要用途是更好地维护项目。如果您有如图所示的具有许多方法的大型类, 维护这些类有点麻烦。 通过使用分部类,您可以将它们分割成如下图所示的物理文件,从而使您的项目更好且更容易维护。 使用第4种方法:多人在同一个类上工作 在现实世界中,当我们希望开发人员同时在同一个类中工作时,我看到的最后一次也是最后一次使用分部类。我同意这可以是一个非常 很少使用,因为有更好的选择,如使用版本控制软件,如TFS或Subversion,但in情况下,你想要一些快速和本地的,这个选项是不错的。 你也可以观看我的500个关于不同技术的视频,比如。net, c#, Silverlight, Azure, VSTS, WCF, WPF, WWF, SharePoint,设计模式,UML, 和许多更多。 本文转载于:http://www.diyabc.com/frontweb/news2042.html

  • 相关阅读:
    使用CSDN Code将网站部署到Windows Azure Website上
    各种云计算虚拟机大比拼
    PLSQL无法连接64位Oracle数据库/Database下拉框为空的解决方法
    adb命令集锦
    Web常用函数介绍(LoadRunner相关)
    公开的免费WebService接口分享
    WEB服务器与应用服务器的区别
    电梯测试点有哪些?
    管理者必须知道的:你真的会惩罚你的团队吗?
    分享几个面试题的回答思路
  • 原文地址:https://www.cnblogs.com/Dincat/p/13456925.html
Copyright © 2011-2022 走看看