Class TypeDetail
Information about a dataflow data type, e.g. how to copy the field or property, and its estimated size in bytes. Used by TypeSchemaNode and TypeRowSchema.
A static (concurrent) dictionary is pre-populated with known types, which can be queried with Find(String). Types not present here are still supported in the dataflow, with the default SingleShallow policy.
Also see the Dataflow Columns, Dataflow Column Mapping and Mapping and Copying articles, IRowMapperCommand, as well as RowsPerBuffer.
Note that instances of this class are immutable with thread-safe members. Static members are also thread-safe.
Namespace: actionETL
Assembly: actionETL.dll
Syntax
public sealed class TypeDetail
Properties
BytesPerType
Gets the estimated size in bytes of this type when used in the dataflow in a 64-bit process. This is used to populate BytesPerRow.
Note that when the type is or contains reference types, the actual size can be much larger or much smaller.
Declaration
public long BytesPerType { get; }
Property Value
| Type | Description |
|---|---|
| Int64 |
CopyOption
Gets the copy option.
Declaration
public TypeSchemaCopyOption CopyOption { get; }
Property Value
| Type | Description |
|---|---|
| TypeSchemaCopyOption |
DeepCopyExpressionCallback
Gets the callback that returns an expression that performs a deep copy of a field or property
(see DeepCopyExpressionCallback for details),
or null if CopyOption is not TypeSchemaCopyOption.SingleShallowThenDeep.
Declaration
public DeepCopyExpressionCallback DeepCopyExpressionCallback { get; }
Property Value
| Type | Description |
|---|---|
| DeepCopyExpressionCallback |
IsAlwaysColumn
Returns true if the type is always a column in the dataflow row, i.e.
even if used in a field;
false if the type can be either a column or one of the other
TypeSchemaCopyOption options.
Declaration
public bool IsAlwaysColumn { get; }
Property Value
| Type | Description |
|---|---|
| Boolean |
IsCopySupported
Gets a value indicating whether the type this instance corresponds to is supported, i.e. the system knows how to copy it.
Declaration
public bool IsCopySupported { get; }
Property Value
| Type | Description |
|---|---|
| Boolean |
|
IsFail
Gets a value indicating whether the type this instance corresponds to is unsupported and should raise an error.
Declaration
public bool IsFail { get; }
Property Value
| Type | Description |
|---|---|
| Boolean |
|
IsIgnore
Gets a value indicating whether the type this instance corresponds to is unsupported and should be ignored.
Declaration
public bool IsIgnore { get; }
Property Value
| Type | Description |
|---|---|
| Boolean |
|
Methods
Find(String)
Finds a TypeDetail instance by type name.
Declaration
public static TypeDetail Find(string typeName)
Parameters
| Type | Name | Description |
|---|---|---|
| String | typeName | Name of the type, formatted as per DisplayName(Type). |
Returns
| Type | Description |
|---|---|
| TypeDetail | The |
ToString()
Returns a string that represents this instance.
Declaration
public override string ToString()
Returns
| Type | Description |
|---|---|
| String |