System.Reflection.RuntimeMethodInfo.GetGenericArguments C# (CSharp) Method

GetGenericArguments() public method

public GetGenericArguments ( ) : System.Type[]
return System.Type[]
        public override Type[] GetGenericArguments() 
        {
            RuntimeType[] rtypes = null;
            RuntimeTypeHandle[] types = m_handle.GetMethodInstantiation();

            if (types != null)
            {
                rtypes = new RuntimeType[types.Length]; 

                for(int i = 0; i < types.Length; i++) 
                    rtypes[i] = types[i].GetRuntimeType();
            }
            else
            {
                 
                rtypes = new RuntimeType[0];
            }
            return rtypes;
        }

Usage Example

Esempio n. 1
0
        public override bool Equals(object obj)
        {
            if (!this.IsGenericMethod)
            {
                return(obj == this);
            }
            RuntimeMethodInfo runtimeMethodInfo = obj as RuntimeMethodInfo;

            if (runtimeMethodInfo == null || !runtimeMethodInfo.IsGenericMethod)
            {
                return(false);
            }
            IRuntimeMethodInfo runtimeMethodInfo2 = RuntimeMethodHandle.StripMethodInstantiation(this);
            IRuntimeMethodInfo runtimeMethodInfo3 = RuntimeMethodHandle.StripMethodInstantiation(runtimeMethodInfo);

            if (runtimeMethodInfo2.Value.Value != runtimeMethodInfo3.Value.Value)
            {
                return(false);
            }
            Type[] genericArguments  = this.GetGenericArguments();
            Type[] genericArguments2 = runtimeMethodInfo.GetGenericArguments();
            if (genericArguments.Length != genericArguments2.Length)
            {
                return(false);
            }
            for (int i = 0; i < genericArguments.Length; i++)
            {
                if (genericArguments[i] != genericArguments2[i])
                {
                    return(false);
                }
            }
            return(!(this.DeclaringType != runtimeMethodInfo.DeclaringType) && !(this.ReflectedType != runtimeMethodInfo.ReflectedType));
        }
All Usage Examples Of System.Reflection.RuntimeMethodInfo::GetGenericArguments