System.Reflection.Emit.DynamicResolver.ResolveToken C# (CSharp) Method

ResolveToken() private method

private ResolveToken ( int token ) : void*
token int
return void*
        internal override unsafe void* ResolveToken(int token)
        {
            Object handle = m_scope[token];

            if (handle is RuntimeTypeHandle) 
            {
                RuntimeTypeHandle typeHandle = (RuntimeTypeHandle)handle;
                return (void*)typeHandle.Value;
            }
            else if (handle is RuntimeMethodHandle) 
            {
                RuntimeMethodHandle methodHandle = (RuntimeMethodHandle)handle;
                return (void*)methodHandle.Value;
            }
            else if (handle is RuntimeFieldHandle) 
            {
                RuntimeFieldHandle fieldHandle = (RuntimeFieldHandle)handle;
                return (void*)fieldHandle.Value;
            }
            else if (handle is DynamicMethod) 
            {
                DynamicMethod dynMeth = (DynamicMethod)handle;
                RuntimeMethodHandle methodHandle = dynMeth.GetMethodDescriptor();
                return (void*)methodHandle.Value;
            }
            else if (handle is GenericMethodInfo) 
            {
                GenericMethodInfo gmi = (GenericMethodInfo)handle;
                return (void*)gmi.m_method.Value;
            }
            else if (handle is VarArgMethod) 
            {
                VarArgMethod vaMeth = (VarArgMethod)handle;
                DynamicMethod dm = vaMeth.m_method as DynamicMethod;
                if (dm == null) 
                    return (void*)vaMeth.m_method.MethodHandle.Value;
                else
                    return (void*)dm.GetMethodDescriptor().Value;
            }

            return null;
        }