public AttachedObjectField(Operation <FIELD_TYPE, DECLARING_TYPE> o) { table = new ObjectTable <DECLARING_TYPE, FIELD_TYPE>(); operation = o; }
static public void ProcessValues <OBJECT_TYPE, VALUE_TYPE>(this ObjectTable <OBJECT_TYPE, VALUE_TYPE> item, Process <VALUE_TYPE> process) where OBJECT_TYPE : class { item.Process(p => process(p.Value)); }
static public VALUE_TYPE AddAndGet <OBJECT_TYPE, VALUE_TYPE>(this ObjectTable <OBJECT_TYPE, VALUE_TYPE> item, OBJECT_TYPE key, VALUE_TYPE value) where OBJECT_TYPE : class { item.Add(key, value); return(value); }