using System;
using System.Runtime.InteropServices;
using Cpp2IlInjected;
namespace System.Reflection
{
/// Provides custom attributes for reflection objects that support them.
// Token: 0x02000223 RID: 547
[Token(Token = "0x2000223")]
[ComVisible(true)]
public interface ICustomAttributeProvider
{
/// 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.
/// The type of the custom attributes.
/// When , look up the hierarchy chain for the inherited custom attribute.
/// An array of Objects representing custom attributes, or an empty array.
/// The custom attribute type cannot be loaded.
///
/// is .
// Token: 0x0600140C RID: 5132
[Token(Token = "0x600140C")]
[Address(Slot = "0")]
object[] GetCustomAttributes(Type attributeType, bool inherit);
/// 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.
/// When , look up the hierarchy chain for the inherited custom attribute.
/// An array of Objects representing custom attributes, or an empty array.
/// The custom attribute type cannot be loaded.
/// There is more than one attribute of type defined on this member.
// Token: 0x0600140D RID: 5133
[Token(Token = "0x600140D")]
[Address(Slot = "1")]
object[] GetCustomAttributes(bool inherit);
/// Indicates whether one or more instance of is defined on this member.
/// The type of the custom attributes.
/// When , look up the hierarchy chain for the inherited custom attribute.
///
/// if the is defined on this member; otherwise.
// Token: 0x0600140E RID: 5134
[Token(Token = "0x600140E")]
[Address(Slot = "2")]
bool IsDefined(Type attributeType, bool inherit);
}
}