コード例 #1
0
ファイル: UnitTestCodeGen.cs プロジェクト: zhonli/odata.net
        private static DelegateMethod WrapMethod(MethodBase methodInfo, Type[] parameterTypes, Type[] genericArguments)
        {
            DelegateMethod methodWrapper;

            if (!DelegateMethodHandleCache.TryGetValue(new MethodDef(methodInfo.MethodHandle, methodInfo.DeclaringType.TypeHandle), out methodWrapper))
            {
                methodWrapper = WrapMethodInfo(methodInfo, parameterTypes, genericArguments);
            }
            return(methodWrapper);
        }
コード例 #2
0
ファイル: UnitTestCodeGen.cs プロジェクト: zhonli/odata.net
        private static DelegateMethod WrapMethod(MethodInfo methodInfo)
        {
            DelegateMethod methodWrapper;

            if (!DelegateMethodHandleCache.TryGetValue(new MethodDef(methodInfo.MethodHandle, methodInfo.DeclaringType.TypeHandle), out methodWrapper))
            {
                ParameterInfo[] parameterInfo  = methodInfo.GetParameters();
                Type[]          parameterTypes = ((0 < parameterInfo.Length) ? new Type[parameterInfo.Length] : Type.EmptyTypes);
                for (int i = 0; i < parameterInfo.Length; ++i)
                {
                    parameterTypes[i] = parameterInfo[i].ParameterType;
                }
                Type[] genericArguments = ((methodInfo.IsGenericMethod) ? methodInfo.GetGenericArguments() : Type.EmptyTypes);

                methodWrapper = WrapMethodInfo(methodInfo, parameterTypes, genericArguments);
            }
            return(methodWrapper);
        }