程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> .NET網頁編程 >> C# >> C#入門知識 >> 返回對應對象的克隆方法

返回對應對象的克隆方法

編輯:C#入門知識

using System;
using System.Collections.Generic;
using System.Text;
using System.Collections;
using System.Reflection;

namespace Common.CloneObjBase
{
    /// <summary>   
    /// BaseObject類是一個用來繼承的抽象類。    
    /// 每一個由此類繼承而來的類將自動支持克隆方法。   
    /// 該類實現了Icloneable接口,並且每個從該對象繼承而來的對象都將同樣地   
    /// 支持Icloneable接口。    
    /// </summary>    
    public abstract class CloneObj : ICloneable
    {
        /// <summary>
        /// Author:Evan Lee
        /// QQ:278631309
        /// Blog:http://hi.baidu.com/genet
        /// Email:Cant be Find
        /// </summary>
        /// <typeparam name="T">要返回的克隆對象;該對象須為class</typeparam>
        /// <param name="Tobj">要進行克隆的對象實例</param>
        /// <returns></returns>
        public T Clone<T>(T Tobj) where T : class
        {

            //首先我們建立指定類型的一個實例            
            object newObject = Activator.CreateInstance(typeof(T));
            //我們取得新的類型實例的字段數組。            
            FieldInfo[] fields = newObject.GetType().GetFields();
            int i = 0;
            foreach (FieldInfo fi in typeof(T).GetFields())
            {
                //我們判斷字段是否支持ICloneable接口。                
                Type ICloneType = fi.FieldType.GetInterface("ICloneable", true);
                

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved