Wednesday, July 01, 2009

Generic Clone Method – Microsoft C#.NET

Using reflection, this method copies each property of the source object to target object

using System.Reflection;

public virtual void Clone(Object source)
{
if (source == null)
throw new ArgumentNullException("Source");
if (source.GetType() != this.GetType())
throw new ArgumentException("Type Mismatch");
foreach (PropertyInfo p in source.GetType().GetProperties())
if (p.CanRead && p.CanWrite)
p.SetValue(this, p.GetValue(source, null), null);
}

0 comments: