System.Runtime.Remoting.IdentityHolder.CasualResolveReference C# (CSharp) Method

CasualResolveReference() private static method

private static CasualResolveReference ( Object o ) : Identity
o Object
return Identity
        private static Identity CasualResolveReference(Object o)
        {
            WeakReference wr = o as WeakReference;    
            if (null != wr)
            {
                return((Identity) wr.Target);
            }
            else
            {
                return((Identity) o);
            }
        } // CasualResolveReference

Usage Example

        internal static Identity CasualResolveIdentity(string uri)
        {
            if (uri == null)
            {
                return(null);
            }
            Identity identity = IdentityHolder.CasualResolveReference(IdentityHolder.URITable[IdentityHolder.MakeURIKeyNoLower(uri)]);

            if (identity == null)
            {
                identity = IdentityHolder.CasualResolveReference(IdentityHolder.URITable[IdentityHolder.MakeURIKey(uri)]);
                if (identity == null || identity.IsInitializing)
                {
                    identity = RemotingConfigHandler.CreateWellKnownObject(uri);
                }
            }
            return(identity);
        }