示例#1
0
        public static object SetObjectCreatedBy(this IObjectCreation creation,
                                                Func <object, object> newCreatedByFactory)
        {
            creation.NotNull(nameof(creation));
            newCreatedByFactory.NotNull(nameof(newCreatedByFactory));

            var newCreatedBy = creation.GetObjectCreatedBy();

            return(creation.SetObjectCreatedBy(newCreatedByFactory.Invoke(newCreatedBy)));
        }
示例#2
0
        public static async ValueTask <object> SetObjectCreatedByAsync(this IObjectCreation creation,
                                                                       Func <object, object> newCreatedByFactory, CancellationToken cancellationToken = default)
        {
            creation.NotNull(nameof(creation));
            newCreatedByFactory.NotNull(nameof(newCreatedByFactory));

            var newCreatedBy = await creation.GetObjectCreatedByAsync(cancellationToken).ConfigureAwait();

            return(await creation.SetObjectCreatedByAsync(newCreatedByFactory.Invoke(newCreatedBy), cancellationToken)
                   .ConfigureAwait());
        }