protected override object IGetObject(MemoryStream bytes) { CrazyKey ckey = new CrazyKey(); ckey.CrazyItems.AddRange((CrazyKey.CrazyItem[])base.GetObject(bytes)); return(ckey); }
protected override byte[] IGetBytes(object obj) { CrazyKey ckey = obj as CrazyKey; if (ckey == null) { throw new ArgumentException("tiene que ser un objeto " + (typeof(CrazyKey).FullName), "obj"); } return(base.GetBytes(ckey.CrazyItems)); }