IClonable和部分类之间有什么区别

时间:2016-08-22 13:24:10

标签: c#

使用System.IClonablepartial课程有什么区别?如果存在一个差异,何时应该使用另一个?是否有一些最佳实践?

2 个答案:

答案 0 :(得分:2)

部分课程

在需要拆分类定义时,有几种情况: 在处理大型项目时,将类分布在单独的文件上可以让多个程序员同时处理它。

使用自动生成的源时,可以将代码添加到类中,而无需重新创建源文件。 Visual Studio在创建Windows窗体,Web服务包装器代码等时使用此方法。您可以创建使用这些类的代码,而无需修改Visual Studio创建的文件。

要拆分类定义,请使用partial关键字修饰符,如下所示:

public partial class Employee
{
    public void DoWork()
    {
    }
}

public partial class Employee
{
    public void GoToLunch()
    {
    }
}

<强> ICloneable

ICloneable接口使您能够提供创建现有对象副本的自定义实现。 ICloneable接口包含一个成员Clone方法,该方法旨在提供超出Object.MemberwiseClone提供的克隆支持。有关克隆,深拷贝和浅拷贝以及示例的详细信息,请参阅Object.MemberwiseClone方法。

public interface ICloneable

来源: MSDN ICloneable MSDN Partial Classes

答案 1 :(得分:1)

这两者是完全不同的东西,并没有任何共同点。

  1. IClonable用于克隆对象。创建如何复制对象的自定义实现。通过MSDN:

      

    支持克隆,用于创建类的新实例   与现有实例相同的值。

  2. Partial classes - 这是将文件分成两个或多个不同文件的方法。一个常见的例子是winforms,其中一个部分处理UI,另一个部分处理背后的代码