public SchemaInfoBuilder(string schemaName, NamedTypeMetaInfo sourceType, IOrderSelector orderSelector, IEnumerable <INamedTypeSymbol> targetTypes) { if (targetTypes is null || targetTypes.Count() == 0) { throw new ArgumentException("A schema must always have a target type to be built to"); } SourceTypeInfo = sourceType; OrderSelector = orderSelector; SchemaName = schemaName; TargetTypes.AddRange(targetTypes); }
public static SchemaInfoBuilder CreateBuilder(string schemaName, NamedTypeMetaInfo type, IOrderSelector orderSelector, IEnumerable <INamedTypeSymbol> targetTypes) => new SchemaInfoBuilder(schemaName, type, orderSelector, targetTypes);
public static SchemaInfoBuilder CreateBuilder(string schemaName, NamedTypeMetaInfo type, IOrderSelector orderSelector, params INamedTypeSymbol[] targetTypes) => new SchemaInfoBuilder(schemaName, type, orderSelector, targetTypes);
public SchemaInfoBuilder(string schemaName, NamedTypeMetaInfo sourceType, IOrderSelector orderSelector, params INamedTypeSymbol[] targetTypes) : this(schemaName, sourceType, orderSelector, targetTypes.AsEnumerable()) { }