final class · System.Reflection

FieldInfo

public final class FieldInfo : MemberInfo

A field: its type, and its value in an object (GetValue(obj); null for a static field).

Tipo
final class
Espacio de nombres
System.Reflection
Ensamblado
System.Core
Acceso
public, final
Archivo fuente
Reflection.ant

Herencia

Clases base
Any MemberInfo FieldInfo

Propiedades

Type FieldType { get; }
#

read-only

bool IsInitOnly { get; }
#

read-only

Set only by constructors (readonly).

Métodos

GetValue(any? target) : any?
#

The field's value in target (boxed when it is a value).

SetValue(any? target, any? value)
#

Sets the field in target to value (which must be of the field's type).

override ToString() : str
#

override

Miembros privados e internos (3)

readonly Type fieldType
#

private

new(Type declaring, str name, i32 flags, TypeDescriber describer, i32 index, Type fieldType)
#

internal

override AttributeKey() : i32
#

internal override

Miembros heredados (11)

Código fuente

FieldInfo en Antril, descompilado a partir de su Larva HIR.

System.Reflection.FieldInfo.ant
// System.Reflection.FieldInfo — System.Core (decompiled from Larva HIR)

import System;

into namespace System.Reflection
{
	/// A field: its type, and its value in an object (`GetValue(obj)`; null for a static field).
	public final class FieldInfo : MemberInfo
	{
		readonly Type fieldType;

		internal:
			new(Type declaring, str name, i32 flags, TypeDescriber describer, i32 index, Type fieldType) : base(declaring, name, flags, describer, index)
			{
				this.fieldType = fieldType;
			}

			override AttributeKey() : i32 => 1000000 + Index;

		public:
			/// The field's value in `target` (boxed when it is a value).
			GetValue(any? target) : any? => Describer.GetField(Index, target);

			/// Sets the field in `target` to `value` (which must be of the field's type).
			SetValue(any? target, any? value)
			{
				Describer.SetField(Index, target, value);
			}

			override ToString() : str => fieldType.FullName + " " + Name;

			Type FieldType
			{
				get => fieldType;
			}

			/// Set only by constructors (`readonly`).
			bool IsInitOnly
			{
				get => Has(16);
			}
	}
}
Esc