using System.Collections.Generic; namespace AIMA.Agent.Object { public interface IObjectWithDynamicAttributes { IReadOnlyDictionary ReadOnlyAttributes { get;} string DescribeType { get; } string DescribeAttributes(); HashSet GetKeySet(); void SetAttribute(object key, object value); object GetAttribute(object key); object RemoveAttribute(object key); public IObjectWithDynamicAttributes Copy(); } }