public static TEntity CreateInstance <TEntity>(IEnumerable <IEntityEvent> events, object eventStoreEntity) { try { var entity = (TEntity)Activator.CreateInstance(typeof(TEntity), events); PropertiesMapper.Map(eventStoreEntity, entity); return(entity); } catch (MissingMethodException ex) { throw new SilverbackException( $"The type {typeof(TEntity).Name} doesn't have a public constructor " + "with a single parameter of type IEnumerable<IEntityEvent>.", ex); } }
public static TEntity CreateInstance <TEntity>(IReadOnlyCollection <IEntityEvent> events, object eventStoreEntity) { Check.NotEmpty(events, nameof(events)); try { var entity = (TEntity)Activator.CreateInstance(typeof(TEntity), events); PropertiesMapper.Map(eventStoreEntity, entity); return(entity); } catch (MissingMethodException ex) { throw new EventSourcingException( $"The type {typeof(TEntity).Name} doesn't have a public constructor " + "with a single parameter of type IEnumerable<IEntityEvent>.", ex); } }