MemberHolder.cs source code in C# .NET

Source code for the .NET framework in C#

                        

Code:

/ 4.0 / 4.0 / untmp / DEVDIV_TFS / Dev10 / Releases / RTMRel / ndp / clr / src / BCL / System / Runtime / Serialization / MemberHolder.cs / 1305376 / MemberHolder.cs

                            // ==++== 
//
//   Copyright (c) Microsoft Corporation.  All rights reserved.
//
// ==--== 
/*============================================================
** 
** Class: MemberHolder 
**
** 
** Purpose: This is a lightweight class designed to hold the members
**          and StreamingContext for a particular class.
**
** 
============================================================*/
namespace System.Runtime.Serialization { 
 
    using System.Runtime.Remoting;
    using System; 
    using System.Reflection;
    [Serializable]
    internal class MemberHolder {
// disable csharp compiler warning #0414: field assigned unused value 
#pragma warning disable 0414
        internal MemberInfo[] members = null; 
#pragma warning restore 0414 
        internal Type memberType;
        internal StreamingContext context; 

        internal MemberHolder(Type type, StreamingContext ctx) {
            memberType = type;
            context = ctx; 
        }
 
        public override int GetHashCode() { 
            return memberType.GetHashCode();
        } 

        public override bool Equals(Object obj) {
            if (!(obj is MemberHolder)) {
                return false; 
            }
 
            MemberHolder temp = (MemberHolder)obj; 

            if (Object.ReferenceEquals(temp.memberType, memberType) && temp.context.State == context.State) { 
                return true;
            }

            return false; 
        }
    } 
} 

// File provided for Reference Use Only by Microsoft Corporation (c) 2007.
                        

Link Menu

Network programming in C#, Network Programming in VB.NET, Network Programming in .NET
This book is available now!
Buy at Amazon US or
Buy at Amazon UK