base class · System.Reflection
TypeDescriber
public base class TypeDescriber
What the compiler writes for each type (a class derived from this one per type): the parts of its Type made on first use, and access to its members by number. Members' flags: 1 public, 2 static, 4 virtual, 8 abstract, 16 readonly, 32 generic.
- Kind
- base class
- Namespace
- System.Reflection
- Assembly
- System.Core
- Access
- public, abstract
- Source file
Reflection.ant
Inheritance
- Base classes
-
AnyTypeDescriber - Derived types
-
PartsDescriber
Methods
virtual Properties(Type owner) : PropertyInfo[]
#
virtual Methods(Type owner) : MethodInfo[]
#
virtual Constructors(Type owner) : ConstructorInfo[]
#
virtual EnumNames() : str[]
#
The custom attributes of member member (-1: of the type).
A new object through constructor index (-1: a value type's zero value).
Inherited members (5)
GetTypemethod from AnyUndescribedmethod from AnyToStringmethod from AnyHashmethod from Anydestroymethod from Any
Source
TypeDescriber as Antril, decompiled from its Larva HIR.
// System.Reflection.TypeDescriber — System.Core (decompiled from Larva HIR)
import System;
into namespace System.Reflection
{
/// What the compiler writes for each type (a class derived from this one per type): the parts of its Type made on
/// first use, and access to its members by number. Members' flags: 1 public, 2 static, 4 virtual, 8 abstract,
/// 16 readonly, 32 generic.
public base class TypeDescriber
{
public:
virtual Base() : Type? => null;
virtual Arguments() : Type[] => [];
virtual Interfaces() : Type[] => [];
virtual Element() : Type? => null;
virtual Rank() : i32 => 0;
virtual Fields(Type owner) : FieldInfo[] => [];
virtual Properties(Type owner) : PropertyInfo[] => [];
virtual Methods(Type owner) : MethodInfo[] => [];
virtual Constructors(Type owner) : ConstructorInfo[] => [];
virtual EnumNames() : str[] => [];
virtual EnumValues() : i64[] => [];
/// The custom attributes of member `member` (-1: of the type).
virtual Attributes(i32 member) : any[] => [];
virtual GetField(i32 index, any? target) : any?
{
throw new NotSupportedError("no field " + index);
}
virtual SetField(i32 index, any? target, any? value)
{
throw new NotSupportedError("no field " + index);
}
virtual Invoke(i32 index, any? target, any?[] arguments) : any?
{
throw new NotSupportedError("no method " + index);
}
/// A new object through constructor `index` (-1: a value type's zero value).
virtual Construct(i32 index, any?[] arguments) : any
{
throw new NotSupportedError("no constructor " + index);
}
}
}