public override string Resolve(string value) { string format = GetFormatOrNull(value); var val = new SystemBindingData().RandGuid; return(BindingDataPathHelper.ConvertParameterValueToString(val, format)); }
// Resolve for AutoResolve.Default templates. // These only have access to the {sys} builtin variable and don't get access to trigger binding data. internal static BindingDataResolver GetBuiltinTemplateResolver(string originalValue, INameResolver nameResolver, Validator validator) { string resolvedValue = nameResolver.ResolveWholeString(originalValue); var template = BindingTemplate.FromString(resolvedValue); if (!template.HasParameters) { // No { } tokens, bind eagerly up front. validator(originalValue); } SystemBindingData.ValidateStaticContract(template); // For static default contracts, we only have access to the built in binding data. return((newAttr, bindingData) => { var newValue = template.Bind(SystemBindingData.GetSystemBindingData(bindingData)); validator(newValue); return newValue; }); }