using System.Collections.Generic;
namespace WxOrder.Framework.Commons.Dialogs
{
///
/// Represents Dialog parameters.
///
///
/// A class that implements this interface can be used to pass
/// object parameters during the showing and closing of Dialogs.
///
public interface IDialogParameters
{
///
/// Adds the key and value to the collection.
///
/// The key to reference this parameter value in the collection.
/// The parameter value to store.
void Add(string key, object value);
///
/// Checks the collection for the presence of a key.
///
/// The key to check.
/// true if key exists; false otherwise.
bool ContainsKey(string key);
///
/// The number of parameters in the collection.
///
int Count { get; }
///
/// The keys in the collection.
///
IEnumerable Keys { get; }
///
/// Gets the parameter value referenced by a key.
///
/// The type of object to be returned.
/// The key of the parameter value to be returned.
/// The matching parameter of type .
T GetValue(string key);
///
/// Gets all parameter values referenced by a key.
///
/// The type of object to be returned.
/// The key of the parameter values to be returned.
///All matching parameter values of type .
IEnumerable GetValues(string key);
///
/// Gets the parameter value if the referenced key exists.
///
/// The type of object to be returned.
/// The key of the parameter value to be returned.
/// The matching parameter of type if the key exists.
/// true if the parameter exists; false otherwise.
bool TryGetValue(string key, out T value);
}
}