API Reference
ObjectFlattenerOptions
Configuration for flattening objects into key/value pairs where keys represent dotted paths.
Inheritance
- Object
- ObjectFlattenerOptions
Usage
This type appears in these public API surfaces even when no hand-authored example is attached directly to the page.
Returned or exposed by
Accepted by parameters
- Method ObjectFlattener.Flatten``1
- Method ObjectFlattener.GetPaths
- Method ObjectFlattener.ResolvePaths
Constructors
public ObjectFlattenerOptions() #Methods
public ObjectFlattenerOptions Exclude(params String[] properties) #ObjectFlattenerOptionsAppends to ExcludeProperties while preserving uniqueness.
Parameters
- properties System.String[]
public ObjectFlattenerOptions Include(params String[] properties) #ObjectFlattenerOptionsAppends to IncludeProperties while preserving uniqueness.
Parameters
- properties System.String[]
public ObjectFlattenerOptions Order(String[] pinFirst = null, String[] priority = null, String[] pinLast = null) #ObjectFlattenerOptionsOne-call convenience: set pin-first, priority order, and pin-last. Any argument may be null; order is applied as PinFirst → PriorityOrder → PinLast.
Parameters
- pinFirst System.String[] = null
- priority System.String[] = null
- pinLast System.String[] = null
public ObjectFlattenerOptions PinFirst(params String[] paths) #ObjectFlattenerOptionsAdds or appends to PinnedFirst while preserving order and uniqueness.
Parameters
- paths System.String[]
public ObjectFlattenerOptions PinLast(params String[] paths) #ObjectFlattenerOptionsAdds or appends to PinnedLast while preserving order and uniqueness.
Parameters
- paths System.String[]
public ObjectFlattenerOptions PriorityOrder(params String[] paths) #ObjectFlattenerOptionsSets priority order 1..N for the provided paths (full path or property name).
Parameters
- paths System.String[]
Inherited Methods
public override Boolean Equals(Object obj) #BooleanParameters
- obj Object
Properties
public List<String> ExpandProperties { get; } #Property names or dotted paths to expand (descend into) rather than treat as simple values.
public Boolean IncludeFullObjects { get; set; } #When true, includes the original object under its path in addition to expanded fields.
public Int32 MaxDepth { get; set; } #Maximum recursion depth when expanding nested objects.
public Int32 MaxRows { get; set; } #Maximum number of source or expanded rows a tabular consumer may materialize. The default matches the maximum Excel data rows available below one header row.
public Int32 MaxColumns { get; set; } #Maximum number of projected table columns.
public Int64 MaxCells { get; set; } #Maximum number of projected table cells, including the header row.
public Int32 MaxCollectionItems { get; set; } #Maximum number of items enumerated from one nested collection.
public HeaderCase HeaderCase { get; set; } #Header casing strategy for generated column names.
public String[] HeaderPrefixTrimPaths { get; set; } #Optional prefixes to trim from generated headers.
public String[] Columns { get; set; } #Optional explicit column whitelist (dotted paths).
public String[] Ignore { get; set; } #Paths to exclude from output.
public String[] IncludeProperties { get; set; } #Optional include filter using property names or dotted paths. When specified, only matching columns are kept. Unlike Columns, this filter also matches a dotted path by its last property segment and does not define output order.
public String[] ExcludeProperties { get; set; } #Optional convenience exclude list using property names or dotted paths. A match occurs when the full dotted path matches or the last segment (property name) matches case-insensitively. This augments Ignore which treats values as dotted-path prefixes.
public String[] PinnedFirst { get; set; } #Optional list of dotted paths to pin to the front of the generated column order when Columns is not specified. Matching paths keep the specified order; any non-matching paths follow in natural order.
public String[] PinnedLast { get; set; } #Optional list of dotted paths to pin to the end of the generated column order. Processed after PinnedFirst.
public Dictionary<String, Int32> PropertyPriority { get; } #Optional per-column priority ordering. Lower numbers appear earlier. Keys can be dotted paths or property names. When not specified, relative discovery order is preserved. Applied after PinnedFirst and before PinnedLast.
public NullPolicy NullPolicy { get; set; } #How null values are represented.
public Dictionary<String, Object> DefaultValues { get; } #Per‑path default values used when DefaultValue is selected.
public Dictionary<String, Func<Object, Object>> Formatters { get; } #Per‑path formatting delegates applied to values.
public CollectionMode CollectionMode { get; set; } #How to handle collections.
public String CollectionJoinWith { get; set; } #Delimiter used when JoinWith is selected.
public String DictionaryEntryJoinWith { get; set; } #Delimiter used between entries when a dictionary is rendered as one cell.
public String DictionaryKeyValueSeparator { get; set; } #Delimiter used between a dictionary key and value when rendered as one cell.
public Dictionary<String, CollectionColumnMapping> CollectionMapColumns { get; } #Maps collection paths (e.g., "ScoreBreakdown") to dynamic columns using element properties. Example: map path "ScoreBreakdown" with KeyProperty="Name", ValueProperty="Value" to produce columns like "ScoreBreakdown.HasMX" = 2, "ScoreBreakdown.EffectiveSPFSends" = 2.