main
 1using System.IO;
 2
 3namespace jive
 4{
 5  public interface IPrototype
 6  {
 7    T clone<T>(T item);
 8  }
 9
10  public class Prototype : IPrototype
11  {
12    public T clone<T>(T item)
13    {
14      using (var serializer = new BinarySerializer<T>(Path.GetTempFileName()))
15      {
16        serializer.serialize(item);
17        return serializer.deserialize();
18      }
19    }
20  }
21}