123456789101112131415161718192021222324252627282930 |
- using System.Reflection;
- namespace Jint.Runtime.Interop.Reflection;
- internal sealed class PropertyAccessor : ReflectionAccessor
- {
- private readonly PropertyInfo _propertyInfo;
- public PropertyAccessor(
- PropertyInfo propertyInfo,
- PropertyInfo? indexerToTry = null)
- : base(propertyInfo.PropertyType, indexerToTry)
- {
- _propertyInfo = propertyInfo;
- }
- public override bool Readable => _propertyInfo.CanRead;
- public override bool Writable => _propertyInfo.CanWrite;
- protected override object? DoGetValue(object target, string memberName)
- {
- return _propertyInfo.GetValue(target, index: null);
- }
- protected override void DoSetValue(object target, string memberName, object? value)
- {
- _propertyInfo.SetValue(target, value, index: null);
- }
- }
|