using System; namespace ShwasherSys.ReflectionMagic { /// /// Defines an mechanism to access members (e.g. fields or properties) of objects in a consistent way. /// public interface IProperty { /// /// Gets the name of the property. /// string Name { get; } /// /// Gets the type of the property. /// Type PropertyType { get; } /// /// Returns the property value of a specified object with optional index values for indexed properties. /// /// The object whose property value will be returned. /// Optional index values for indexed properties. The indexes of indexed properties are zero-based. This value should be null for non-indexed properties. /// The member value of the specified object. object GetValue(object obj, object[] index); /// /// Sets the property value of a specified object with optional index values for index properties. /// /// The object whose property value will be set. /// The new property value. /// Optional index values for indexed properties. This value should be null for non-indexed properties. void SetValue(object obj, object value, object[] index); } }