using System; using System.Reflection; namespace Swan.Reflection { /// /// Represents a generic interface to store getters and setters for high speed access to properties. /// public interface IPropertyProxy { /// /// Gets the name of the property. /// string Name { get; } /// /// Gets the type of the property. /// Type PropertyType { get; } /// /// Gets the associated reflection property info. /// PropertyInfo Property { get; } /// /// Gets the type owning this property proxy. /// Type EnclosingType { get; } /// /// Gets the property value via a stored delegate. /// /// The instance. /// The property value. object? GetValue(object instance); /// /// Sets the property value via a stored delegate. /// /// The instance. /// The value. void SetValue(object instance, object? value); } }