Table of Contents

Class RectangularArrayContract

Namespace
ShapeShift.Schema
Assembly
ShapeShift.dll

Describes a multidimensional (rectangular) array.

public sealed class RectangularArrayContract : DataContract
Inheritance
RectangularArrayContract
Inherited Members

Remarks

Such arrays are encoded as a two-element vector: the first element is a vector of Rank lengths (one per dimension) and the second is a vector of all elements in row-major order.

Constructors

RectangularArrayContract(Type, DataContract, int)

Initializes a new instance of the RectangularArrayContract class.

public RectangularArrayContract(Type dataType, DataContract elementType, int rank)

Parameters

dataType Type
The .NET type that this contract describes.
elementType DataContract

The contract describing each element.

rank int

The number of dimensions in the array.

Properties

ElementType

Gets the contract describing each element.

public DataContract ElementType { get; }

Property Value

DataContract

Kind

Gets the kind of this contract, which identifies the concrete subclass.

public override DataContractKind Kind { get; }

Property Value

DataContractKind

Rank

Gets the number of dimensions in the array.

public int Rank { get; }

Property Value

int

ReferencedContracts

Gets the contracts that this contract directly refers to.

public override IEnumerable<DataContract> ReferencedContracts { get; }

Property Value

IEnumerable<DataContract>

Remarks

The sequence may contain the same contract more than once, and (for recursive types) may transitively include this contract itself.