final class · System.Reflection
PropertyInfo
public final class PropertyInfo : MemberInfo
A property: its type, and its value through its accessors.
- Tipo
- final class
- Espacio de nombres
- System.Reflection
- Ensamblado
- System.Core
- Acceso
- public, final
- Archivo fuente
Reflection.ant
Herencia
- Clases base
-
AnyMemberInfoPropertyInfo
Propiedades
Métodos
Miembros privados e internos (5)
Miembros heredados (11)
GetCustomAttributesmétodo de MemberInfoGetCustomAttributesmétodo de MemberInfoIsDefinedmétodo de MemberInfoNamepropiedad de MemberInfoDeclaringTypepropiedad de MemberInfoIsPublicpropiedad de MemberInfoIsStaticpropiedad de MemberInfoGetTypemétodo de AnyUndescribedmétodo de AnyHashmétodo de Anydestroymétodo de Any
Código fuente
PropertyInfo en Antril, descompilado a partir de su Larva HIR.
// System.Reflection.PropertyInfo — System.Core (decompiled from Larva HIR)
import System;
into namespace System.Reflection
{
/// A property: its type, and its value through its accessors.
public final class PropertyInfo : MemberInfo
{
readonly Type propertyType;
readonly i32 getter;
readonly i32 setter;
internal:
new(Type declaring, str name, i32 flags, TypeDescriber describer, i32 index, Type propertyType, i32 getter, i32 setter) : base(declaring, name, flags, describer, index)
{
this.propertyType = propertyType;
this.getter = getter;
this.setter = setter;
}
override AttributeKey() : i32 => 3000000 + Index;
public:
GetValue(any? target) : any?
{
if (getter < 0)
throw new NotSupportedError(Name + " has no getter");
return Describer.Invoke(getter, target, []);
}
SetValue(any? target, any? value)
{
if (setter < 0)
throw new NotSupportedError(Name + " has no setter");
Describer.Invoke(setter, target, [value]);
}
override ToString() : str => propertyType.FullName + " " + Name;
Type PropertyType
{
get => propertyType;
}
bool CanRead
{
get => getter >= 0;
}
bool CanWrite
{
get => setter >= 0;
}
}
}