lansh

首页 新随笔 联系 订阅 管理
针对“类”类型,C#中的等号相当于C++中的引用,赋值的结果是产生一个引用而非新的对象。
如果要产生新的一个对象,内容和老的对象一致,可以通过下面方法实现(使用 MemberwiseClone 复制类):
using System;

class MyBaseClass {
   
public static string CompanyName = "My Company";
   
public int age;
   
public string name;
}

class MyDerivedClass: MyBaseClass {

   
static void Main() {
   
   
// Creates an instance of MyDerivedClass and assign values to its fields.
   MyDerivedClass m1 = new MyDerivedClass();
   m1.age 
= 42;
   m1.name 
= "Sam";

   
// Performs a shallow copy of m1 and assign it to m2.
   MyDerivedClass m2 = (MyDerivedClass) m1.MemberwiseClone();
   }
}


posted on 2007-11-10 22:39  lansh  阅读(1428)  评论(0编辑  收藏  举报