/// <summary> /// Creates and seeds a new part. /// </summary> /// <param name="item">The item this part should belong to.</param> /// <param name="roleId">The optional part role ID.</param> /// <param name="factory">The part seeder factory. This is used /// for layer parts, which need to seed a set of fragments.</param> /// <returns>A new part.</returns> public abstract IPart GetPart(IItem item, string roleId, PartSeederFactory factory);
/// <summary> /// Initializes a new instance of the <see cref="CadmusSeeder"/> class. /// </summary> /// <param name="factory">The part seeder factory.</param> /// <exception cref="ArgumentNullException">factory</exception> public CadmusSeeder(PartSeederFactory factory) { _factory = factory ?? throw new ArgumentNullException(nameof(factory)); _options = _factory.GetSeedOptions(); }