// Token: 0x06002764 RID: 10084 RVA: 0x0008FFC8 File Offset: 0x0008E1C8 private void Initialize(BinaryReader reader) { if (reader == null) { throw new ArgumentNullException("reader"); } ClaimsPrincipal.SerializationMask serializationMask = (ClaimsPrincipal.SerializationMask)reader.ReadInt32(); int num = reader.ReadInt32(); int num2 = 0; if ((serializationMask & ClaimsPrincipal.SerializationMask.HasIdentities) == ClaimsPrincipal.SerializationMask.HasIdentities) { num2++; int num3 = reader.ReadInt32(); for (int i = 0; i < num3; i++) { this.m_identities.Add(this.CreateClaimsIdentity(reader)); } } if ((serializationMask & ClaimsPrincipal.SerializationMask.UserData) == ClaimsPrincipal.SerializationMask.UserData) { int count = reader.ReadInt32(); this.m_userSerializationData = reader.ReadBytes(count); num2++; } for (int j = num2; j < num; j++) { reader.ReadString(); } }
/// <summary /> /// <param name="writer" /> /// <param name="userData" /> // Token: 0x06002766 RID: 10086 RVA: 0x00090068 File Offset: 0x0008E268 protected virtual void WriteTo(BinaryWriter writer, byte[] userData) { if (writer == null) { throw new ArgumentNullException("writer"); } int num = 0; ClaimsPrincipal.SerializationMask serializationMask = ClaimsPrincipal.SerializationMask.None; if (this.m_identities.Count > 0) { serializationMask |= ClaimsPrincipal.SerializationMask.HasIdentities; num++; } if (userData != null && userData.Length != 0) { num++; serializationMask |= ClaimsPrincipal.SerializationMask.UserData; } writer.Write((int)serializationMask); writer.Write(num); if ((serializationMask & ClaimsPrincipal.SerializationMask.HasIdentities) == ClaimsPrincipal.SerializationMask.HasIdentities) { writer.Write(this.m_identities.Count); foreach (ClaimsIdentity claimsIdentity in this.m_identities) { claimsIdentity.WriteTo(writer); } } if ((serializationMask & ClaimsPrincipal.SerializationMask.UserData) == ClaimsPrincipal.SerializationMask.UserData) { writer.Write(userData.Length); writer.Write(userData); } writer.Flush(); }