3 // Copyright (c) Microsoft Corporation. All rights reserved.
6 /*============================================================
11 ** Purpose: This is a lightweight class designed to hold the members
12 ** and StreamingContext for a particular class.
15 ============================================================*/
16 namespace System.Runtime.Serialization {
18 using System.Runtime.Remoting;
20 using System.Reflection;
22 internal class MemberHolder {
23 // disable csharp compiler warning #0414: field assigned unused value
24 #pragma warning disable 0414
25 internal MemberInfo[] members = null;
26 #pragma warning restore 0414
27 internal Type memberType;
28 internal StreamingContext context;
30 internal MemberHolder(Type type, StreamingContext ctx) {
35 public override int GetHashCode() {
36 return memberType.GetHashCode();
39 public override bool Equals(Object obj) {
40 if (!(obj is MemberHolder)) {
44 MemberHolder temp = (MemberHolder)obj;
46 if (Object.ReferenceEquals(temp.memberType, memberType) && temp.context.State == context.State) {