namespace System.Reflection;
/// A type's member — a field, a property, a method, a constructor, a
/// nested type, the type itself — as Reflection sees it: .NET's
/// `MemberInfo`.
[Intrinsic]
public readonly abstract class MemberInfo {
public abstract string Name { get; }
/// The type declaring it; `null` for a type not nested in one.
public abstract Type? DeclaringType { get; }
public abstract MemberTypes MemberType { get; }
/// Its attributes, made anew; `inherit`: a type's base's too.
public object[] GetCustomAttributes(bool inherit);
/// Its attributes that are `attributeType`s (one inheriting it too).
public object[] GetCustomAttributes(Type attributeType, bool inherit);
public bool IsDefined(Type attributeType, bool inherit);
}