return MonoCustomAttrs.GetCustomAttributesData (target);
}
+#if NET_4_5
+ public Type AttributeType {
+ get { return ctorInfo.DeclaringType; }
+ }
+#endif
+
public override string ToString ()
{
StringBuilder sb = new StringBuilder ();
public override int GetHashCode ()
{
- int ret = ctorInfo.GetHashCode () << 16;
+ int ret = ctorInfo == null ? 13 : (ctorInfo.GetHashCode () << 16);
// argument order-dependent
- for (int i = 0; i < ctorArgs.Count; i++)
- ret += ret ^ 7 + ctorArgs [i].GetHashCode () << (i * 4);
+ if (ctorArgs != null) {
+ for (int i = 0; i < ctorArgs.Count; i++) {
+ ret += ret ^ 7 + ctorArgs [i].GetHashCode () << (i * 4);
+ }
+ }
// argument order-independent
- for (int i = 0; i < namedArgs.Count; i++)
- ret += (namedArgs [i].GetHashCode () << 5);
+ if (namedArgs != null) {
+ for (int i = 0; i < namedArgs.Count; i++)
+ ret += (namedArgs [i].GetHashCode () << 5);
+ }
return ret;
}
}