在C#中,实现克隆一个实体类的方式有多种,其中一个常见的方式是通过实现ICloneable接口。以下是一个示例代码:
using System;
public class Person : ICloneable
{
public string Name { get; set; }
public int Age { get; set; }
public Person(string name, int age)
{
Name = name;
Age = age;
}
public object Clone()
{
return new Person(Name, Age);
}
}
class Program
{
static void Main()
{
Person person1 = new Person("Alice", 30);
Person person2 = (Person)person1.Clone();
Console.WriteLine("Person 1: {0}, {1}", person1.Name, person1.Age);
Console.WriteLine("Person 2: {0}, {1}", person2.Name, person2.Age);
// Output:
// Person 1: Alice, 30
// Person 2: Alice, 30
}
}
在上面的代码中,Person类实现了ICloneable接口,并在Clone方法中返回了一个新的Person实例,从而实现了克隆。在Main方法中,首先创建了一个Person实例person1,然后通过调用Clone方法克隆了一个新的Person实例person2。最后输出了两个实例的属性值,可以看到person2的属性值与person1相同,即实现了克隆。