Una classe e un attributo per salvare lo stato di un oggetto... è come serialiazzarlo se vogliamo, ma viene incontro al pattern Memento :p ...mi sembra interessante... con calma capisco se lo è :p[AttributeUsage(AttributeTargets.Field, AllowMultiple =false)]
public class FieldStateAttribute: Attribute
{
private bool _ignore = false;
public FieldStateAttribute(){;}
public bool Ignore{
get{return _ignore;}
set{_ignore = value;}
}
}
[Serializable]
public class ObjectState
{
[Serializable]
class FieldState{
public FieldInfo Field;
public object Value;
}
static BindingFlags bindingAttr =
BindingFlags.GetField|BindingFlags.Instance|BindingFlags.NonPublic|BindingFlags.Public;
ArrayList _fields;
public ObjectState(){;}
public void Store(object target)
{
_fields = new ArrayList();
Type t = target.GetType();
foreach(FieldInfo...