private VerifiableMemberContext(object value, VerifiableMemberContract contract, VerifiableObjectContext parentContext)
        {
            _parentContext = parentContext;
            _contract      = contract ?? throw new ArgumentNullException(nameof(contract));
            _valueMode     = ValueMode.DirectValue;

            _hasGot      = true;
            _valueCached = value;
        }
 /// <summary>
 /// Create <br />
 /// 创建
 /// </summary>
 /// <param name="value"></param>
 /// <param name="contract"></param>
 /// <param name="parentContext"></param>
 /// <typeparam name="T"></typeparam>
 /// <returns></returns>
 public static VerifiableMemberContext Create <T>(T value, VerifiableMemberContract contract, VerifiableObjectContext parentContext = default)
 {
     return(new(value, contract, parentContext));
 }
 public VerifiableMemberContext(VerifiableObjectContext parentContext, VerifiableMemberContract contract, bool directMode)
 {
     _parentContext = parentContext;
     _contract      = contract ?? throw new ArgumentNullException(nameof(contract));
     _valueMode     = directMode ? ValueMode.DirectType : ValueMode.Dictionary;
 }