Exemplo n.º 1
0
        private Fragment[] GetParameterFragmentTypes(Method calleeMethod)
        {
            List <string> parameterTypes = IntrospectionUtility.GetParameterTypes(calleeMethod);
            string        assemblyName   = calleeMethod.ContainingAssembly().Name;

            FragmentSignature signature = _blacklistManager.GetFragmentTypes(assemblyName, calleeMethod.DeclaringType.FullName, calleeMethod.Name.Name, parameterTypes);

            Fragment[] parameterFragmentTypes;
            if (signature == null)
            {
                parameterFragmentTypes = FragmentUtility.GetAnnotatedParameterFragmentTypes(calleeMethod);
            }
            else
            {
                parameterFragmentTypes = signature.ParameterFragmentTypes.Select(name => name != null ? Fragment.CreateNamed(name) : Fragment.CreateEmpty()).ToArray();
            }
            return(parameterFragmentTypes);
        }