public CustomAttributeInfo(CustomAttributeData data) { attributeType = new QualifiedTypeNameInfo(data.Constructor.DeclaringType); constructorArguments = data.Constructor.GetParameters().OrderBy(p => p.Position).Select(p => new KeyValuePair<QualifiedTypeNameInfo, object>(new QualifiedTypeNameInfo(p.ParameterType), GetSimpleValue(data.ConstructorArguments[p.Position].Value))).ToArray(); if (data.NamedArguments == null) { namedArguments = new KeyValuePair<TypeMemberInfo, object>[0]; } else { namedArguments = data.NamedArguments.Select(argument => new KeyValuePair<TypeMemberInfo, object>(new TypeMemberInfo(argument.MemberInfo), GetSimpleValue(argument.TypedValue.Value))).ToArray(); } }
public bool Equals(QualifiedTypeNameInfo other) { return Equals(other.assemblyName, assemblyName) && Equals(other.typeName, typeName); }