15 de agosto de 2007

Extendiendo las propiedades de una clase dinámicamente

El otro día estaba tratando de pasar parametros de una forma "muy" desacoplada, pero con cierto "rigor" y salio esto. No se que tan correcto sea, pero lo comparto por si a alguien le sirve.

/// <summary>
/// Parametros para extender dinámicamente las propiedades
/// </summary>
Dictionary<string, object> _parameters = new Dictionary<string, object>();
public void SetParameter<T>(string name, T value)
{
if (_parameters.ContainsKey(name))
_parameters[name] = value;

else
_parameters.Add(name, value);
}

public T GetParameter<T>(string name)
{
try
{
if (_parameters.ContainsKey(name))
return (T)_parameters[name];
else
throw new Exception("El parametro solicitado no existe");
}
catch
{

}
return default(T);
}

No hay comentarios: