/// <summary> /// For internal use only. /// </summary> /// <param name="factory"></param> /// <param name="receiver"></param> /// <param name="setter"></param> /// <param name="existingValue"></param> /// <param name="format"></param> /// <returns></returns> public static EventCallback <UIChangeEventArgs> CreateBinder( this EventCallbackFactory factory, object receiver, Action <DateTime> setter, DateTime existingValue, string format) { // Avoiding CreateBinderCore so we can avoid an extra allocating lambda // when a format is used. Action <UIChangeEventArgs> callback = (e) => { DateTime value = default; var converted = false; try { value = ConvertDateTime(e.Value, format); converted = true; } catch { } // See comments in CreateBinderCore if (converted) { setter(value); } }; return(factory.Create <UIChangeEventArgs>(receiver, callback));
/// <summary> /// Creates an <see cref="EventCallback"/> for the provided <paramref name="receiver"/> and /// <paramref name="callback"/>. /// </summary> /// <param name="factory">The <see cref="EventCallbackFactory"/>.</param> /// <param name="receiver">The event receiver.</param> /// <param name="callback">The event callback.</param> /// <returns>The <see cref="EventCallback"/>.</returns> public static EventCallback <ChangeEventArgs> Create(this EventCallbackFactory factory, object receiver, Func <ChangeEventArgs, Task> callback) { if (factory == null) { throw new ArgumentNullException(nameof(factory)); } return(factory.Create <ChangeEventArgs>(receiver, callback)); }
/// <summary> /// Creates an <see cref="EventCallback"/> for the provided <paramref name="receiver"/> and /// <paramref name="callback"/>. /// </summary> /// <param name="factory">The <see cref="EventCallbackFactory"/>.</param> /// <param name="receiver">The event receiver.</param> /// <param name="callback">The event callback.</param> /// <returns>The <see cref="EventCallback"/>.</returns> public static EventCallback <UIErrorEventArgs> Create(this EventCallbackFactory factory, object receiver, Action <UIErrorEventArgs> callback) { if (factory == null) { throw new ArgumentNullException(nameof(factory)); } return(factory.Create <UIErrorEventArgs>(receiver, callback)); }
/// <summary> /// For internal use only. /// </summary> /// <param name="factory"></param> /// <param name="receiver"></param> /// <param name="setter"></param> /// <param name="existingValue"></param> /// <returns></returns> public static EventCallback <UIChangeEventArgs> CreateBinder( this EventCallbackFactory factory, object receiver, Action <DateTime> setter, DateTime existingValue) { // Avoiding CreateBinderCore so we can avoid an extra allocating lambda // when a format is used. Action <UIChangeEventArgs> callback = (e) => { setter(ConvertDateTime(e.Value, format: null)); }; return(factory.Create <UIChangeEventArgs>(receiver, callback)); }