using System;
using System.Runtime.InteropServices;
namespace System.Reflection
{
/// Provides custom attributes for reflection objects that support them.
// Token: 0x02000035 RID: 53
[ComVisible(true)]
public interface ICustomAttributeProvider
{
/// Returns an array of all of the custom attributes defined on this member, excluding named attributes, or an empty array if there are no custom attributes.
/// An array of Objects representing custom attributes, or an empty array.
/// When true, look up the hierarchy chain for the inherited custom attribute.
/// The custom attribute type cannot be loaded.
/// There is more than one attribute of type defined on this member.
// Token: 0x06000585 RID: 1413
object[] GetCustomAttributes(bool inherit);
/// Returns an array of custom attributes defined on this member, identified by type, or an empty array if there are no custom attributes of that type.
/// An array of Objects representing custom attributes, or an empty array.
/// The type of the custom attributes.
/// When true, look up the hierarchy chain for the inherited custom attribute.
/// The custom attribute type cannot be loaded.
/// There is more than one attribute of type defined on this member.
// Token: 0x06000586 RID: 1414
object[] GetCustomAttributes(Type attributeType, bool inherit);
/// Indicates whether one or more instance of is defined on this member.
/// true if the is defined on this member; false otherwise.
/// The type of the custom attributes.
/// When true, look up the hierarchy chain for the inherited custom attribute.
// Token: 0x06000587 RID: 1415
bool IsDefined(Type attributeType, bool inherit);
}
}