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
Any TypeDescriber
Derived types
PartsDescriber

Methods

virtual Base() : Type?
#

virtual

virtual Arguments() : Type[]
#

virtual

virtual Interfaces() : Type[]
#

virtual

virtual Element() : Type?
#

virtual

virtual Rank() : i32
#

virtual

virtual Fields(Type owner) : FieldInfo[]
#

virtual

virtual Properties(Type owner) : PropertyInfo[]
#

virtual

virtual Methods(Type owner) : MethodInfo[]
#

virtual

virtual Constructors(Type owner) : ConstructorInfo[]
#

virtual

virtual EnumNames() : str[]
#

virtual

virtual EnumValues() : i64[]
#

virtual

virtual Attributes(i32 member) : any[]
#

virtual

The custom attributes of member member (-1: of the type).

virtual GetField(i32 index, any? target) : any?
#

virtual

virtual SetField(i32 index, any? target, any? value)
#

virtual

virtual Invoke(i32 index, any? target, any?[] arguments) : any?
#

virtual

virtual Construct(i32 index, any?[] arguments) : any
#

virtual

A new object through constructor index (-1: a value type's zero value).

Inherited members (5)

Source

TypeDescriber as Antril, decompiled from its Larva HIR.

System.Reflection.TypeDescriber.ant
// 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);
			}
	}
}
Esc