ディープコピーを実現する、静的メソッドです。
通常は参照渡しになってしまう配列やクラスでも、値渡しにすることができます。
//MyClass dest = Deep.Copy<MyClass>(source);みたいな感じで使う public static class Deep { public static T Copy<T>(T target) { T result; BinaryFormatter b = new BinaryFormatter(); MemoryStream mem = new MemoryStream(); try { b.Serialize(mem, target); mem.Position = 0; result = (T)b.Deserialize(mem); } finally { mem.Close(); } return result; } }