示例#1
0
        public Schema AddField(Field field)
        {
            Guard.NotNull(field, nameof(field));

            if (FieldsByName.ContainsKey(field.Name) || FieldsById.ContainsKey(field.Id))
            {
                throw new ArgumentException($"A field with name '{field.Name}' and id {field.Id} already exists.", nameof(field));
            }

            return(Clone(clone =>
            {
                clone.fieldsOrdered = clone.fieldsOrdered.Add(field);
            }));
        }
示例#2
0
 internal IField?GetFieldOrNull(ReadOnlySpan <char> fieldName) => FieldsByName.GetValueOrDefault(fieldName.ToString());