Property FormatSettings
FormatSettings
Gets the format-specific settings, keyed by a namespaced string. Empty by default.
public IDictionary<string, string> FormatSettings { get; }
Property Value
Remarks
This is the channel through which a caller reaches a setting only one format
understands, without Core learning what that format is. Keys are namespaced by format
name — "rdl:schemaVersion", "html:selfContained" — so two writers can
never collide, and a writer ignores every key outside its own prefix.
The alternative was a format-specific option type per format on this bag, which would make Core reference every format package, or a widened IDocumentWriter, which is frozen. A string dictionary is deliberately weaker than either: it moves the type checking to the writer, which is why an unrecognized key or an unparseable value must be reported as a diagnostic and fall back to the documented default rather than being ignored in silence.
Comparison is OrdinalIgnoreCase, so key casing is forgiving and never culture-sensitive. Ordering is sorted-ordinal so that anything a writer derives from this collection is deterministic.
Callers constructing a writer directly should prefer that writer's own
strongly-typed settings object; this exists for the extension-routed
Save(document, stream, ".rdl", options) path, where no such object is reachable.