internal object[] GetPseudoCustomAttributes () { int count = 0; if (IsIn) count ++; if (IsOut) count ++; if (IsOptional) count ++; if (marshalAs != null) count ++; if (count == 0) return null; object[] attrs = new object [count]; count = 0; if (IsIn) attrs [count ++] = new InAttribute (); if (IsOptional) attrs [count ++] = new OptionalAttribute (); if (IsOut) attrs [count ++] = new OutAttribute (); if (marshalAs != null) attrs [count ++] = marshalAs.Copy (); return attrs; }