Ejemplo n.º 1
0
        public void GetObjectData(SerializationInfo info, StreamingContext context)
        {
            if (context.State != StreamingContextStates.CrossAppDomain)
            {
                throw new InvalidOperationException("Serialization not supported");
            }

            var identity = new GenericIdentity(Name, AuthenticationType);
            info.SetType(identity.GetType());

            MemberInfo[] members = FormatterServices.GetSerializableMembers(identity.GetType());
            object[] values = FormatterServices.GetObjectData(identity, members);
            for (int i = 0; i < members.Length; i++)
            {
                info.AddValue(members[i].Name, values[i]);
            }
        }
Ejemplo n.º 2
0
 public void GetObjectData(SerializationInfo info, StreamingContext context)
 {
     if (context.State == StreamingContextStates.CrossAppDomain)
     {
         GenericIdentity gIdent = new GenericIdentity(this.Name, this.AuthenticationType);
         info.SetType(gIdent.GetType());
         System.Reflection.MemberInfo[] serializableMembers;
         object[] serializableValues;
         serializableMembers = FormatterServices.GetSerializableMembers(gIdent.GetType());
         serializableValues = FormatterServices.GetObjectData(gIdent, serializableMembers);
         for (int i = 0; i < serializableMembers.Length; i++)
         {
             info.AddValue(serializableMembers[i].Name, serializableValues[i]);
         }
     }
     else
     {
         throw new InvalidOperationException("Serialization not supported");
     }
 }