Я использую this.MemberwiseClone () для создания мелкой копии, но она не работает.Пожалуйста, посмотрите на код ниже.
public class Customer
{
public int Id;
public string Name;
public Customer CreateShallowCopy()
{
return (Customer)this.MemberwiseClone();
}
}
class Program
{
static void Main(string[] args)
{
Customer objCustomer = new Customer() { Id = 1, Name = "James"};
Customer objCustomer2 = objCustomer;
Customer objCustomerShallowCopy = objCustomer.CreateShallowCopy();
objCustomer.Name = "Jim";
objCustomer.Id = 2;
}
}
Когда я запускаю программу, она показывает objCustomerShallowCopy.Name как «Джеймс», а не «Джим».