CustomAttributeBuilder GetAttributeBuilder()
        {
            ConstructorInfo ci = (ConstructorInfo)_ctor.Method.Member;

            if (_namedProperties == null && _namedFields == null)
            {
                return(new CustomAttributeBuilder(ci, _args));
            }

            if (_namedProperties == null)
            {
                return(new CustomAttributeBuilder(ci, _args, ArrayUtils.ToArray(_namedFields.Keys), ArrayUtils.ToArray(_namedFields.Values)));
            }

            if (_namedFields == null)
            {
                return(new CustomAttributeBuilder(ci, _args, ArrayUtils.ToArray(_namedProperties.Keys), ArrayUtils.ToArray(_namedProperties.Values)));
            }

            return(new CustomAttributeBuilder(ci, _args,
                                              ArrayUtils.ToArray(_namedProperties.Keys), ArrayUtils.ToArray(_namedProperties.Values),
                                              ArrayUtils.ToArray(_namedFields.Keys), ArrayUtils.ToArray(_namedFields.Values)));
        }
示例#2
0
 public bool Match(MethodGen candidate)
 {
     return(candidate.Name == interfaceMethod.Name &&
            candidate.ReturnType == interfaceMethod.ReturnType &&
            ArrayUtils.Equals(candidate.ParameterTypes, interfaceMethod.ParameterTypes));
 }
示例#3
0
 public bool SignatureEquals(ApplicableFunction other)
 {
     return(ArrayUtils.Equals(_appliedSignature, other._appliedSignature));
 }