public AttributeValue(AttributeDefinition attribDef)
 {
     AttributeDefinition = attribDef;
 }
 public bool TrySetValue <TInput, TOutput>(AttributeDefinition <TInput, TOutput> attribDef, Lazy <object> lazyImpl)
 {
     return(false);
 }
 protected abstract bool SetValueImpl(AttributeDefinition attribDef, Lazy <object> lazyValue);
 public bool TrySetValue <TInput, TOutput>(AttributeDefinition <TInput, TOutput> attribDef, TOutput value)
 {
     return(false);
 }
 protected abstract bool SetValueImpl(AttributeDefinition attribDef, object value);