using System; namespace ZeroLevel.Patterns.DependencyInjection { /// /// DI parameters stogare (string key and anytype value) /// public interface IParameterStorage { #region IEverythingStorage /// /// Save parameter /// /// Parameter type /// Key /// Parameter value void Save(string key, T value); /// /// Save or update parameter /// /// Parameter type /// Key /// Parameter value void SaveOrUpdate(string key, T value); /// /// Safe save parameter /// /// Parameter type /// Key /// Parameter value bool TrySave(string key, T value); /// /// Remove parameter by key /// /// Parameter type /// Key void Remove(string key); /// /// Safe remove parameter by key /// /// Parameter type /// Key bool TryRemove(string key); /// /// Get parameter value by key /// /// Parameter type /// Key /// Parameter value T Get(string key); T GetOrDefault(string key); T GetOrDefault(string key, T defaultValue); /// /// Get parameter value by key /// /// Parameter type /// Key /// Parameter value object Get(Type type, string key); /// /// Check for parameter existence by key /// /// Parameter type /// Key bool Contains(string key); #endregion IEverythingStorage } }