internal RemotingCachedData(SerializationFieldInfo ri)
 {
     this.RI = ri;
 }
 internal RemotingFieldCachedData(SerializationFieldInfo ri)
 {
     RI = ri;
 }
Exemple #3
0
        internal static RemotingCachedData GetReflectionCachedData(MemberInfo mi)
        {
            RemotingCachedData     data  = null;
            MethodBase             base2 = null;
            RuntimeType            type  = null;
            RuntimeFieldInfo       ri    = null;
            RuntimeEventInfo       info2 = null;
            RuntimePropertyInfo    info3 = null;
            SerializationFieldInfo info4 = null;

            base2 = mi as MethodBase;
            if (base2 != null)
            {
                return(GetReflectionCachedData(base2));
            }
            type = mi as RuntimeType;
            if (type != null)
            {
                return(GetReflectionCachedData(type));
            }
            ri = mi as RuntimeFieldInfo;
            if (ri != null)
            {
                data = (RemotingCachedData)ri.RemotingCache[CacheObjType.RemotingData];
                if (data == null)
                {
                    ri.RemotingCache[CacheObjType.RemotingData] = data = new RemotingCachedData(ri);
                }
                return(data);
            }
            info2 = mi as RuntimeEventInfo;
            if (info2 != null)
            {
                data = (RemotingCachedData)info2.RemotingCache[CacheObjType.RemotingData];
                if (data == null)
                {
                    info2.RemotingCache[CacheObjType.RemotingData] = data = new RemotingCachedData(info2);
                }
                return(data);
            }
            info3 = mi as RuntimePropertyInfo;
            if (info3 != null)
            {
                data = (RemotingCachedData)info3.RemotingCache[CacheObjType.RemotingData];
                if (data == null)
                {
                    info3.RemotingCache[CacheObjType.RemotingData] = data = new RemotingCachedData(info3);
                }
                return(data);
            }
            info4 = mi as SerializationFieldInfo;
            if (info4 == null)
            {
                throw new ArgumentException(Environment.GetResourceString("Argument_MustBeRuntimeReflectionObject"));
            }
            data = (RemotingCachedData)info4.RemotingCache[CacheObjType.RemotingData];
            if (data == null)
            {
                info4.RemotingCache[CacheObjType.RemotingData] = data = new RemotingCachedData(info4);
            }
            return(data);
        }