Table of Contents

Namespace ToSic.Sxc.Data

The dynamic data system used in 2sxc. It's primary purpose is to ensure that you can easily use dynamic objects to write templates, tokens and more. we have two different topics covered:

  1. Dynamic Entities to simplify code using IEntity objects - IDynamicEntity and
  2. Dynamic Jackets to simplify code using JSON - ToSic.Sxc.Data.DynamicJackets and ToSic.Sxc.Data.DynamicJacketLists

Interfaces

IDynamicEntity

This is a wrapper for IEntity objects. It provides nicer access to underlying properties and automatically handles things like multi-language etc. The underlying IEntity IEntity is in the Entity property.

Normally you will use it without caring about these internals.
Please check @HowTo.DynamicCode.DynamicEntity
IDynamicStack

This is a dynamic object which contains multiple dynamic objects (Sources). It will try to find a value inside each source in the order the Sources are managed.

IField

This describes a field-property of an item/entity. It's used for APIs which can need to know more about the field holding an item, like:

  • The field name and parent reference
  • The values in raw and converted
  • Any metadata of the field
IMetadata

Metadata on Dynamic Objects - like IDynamicEntity or IAsset (files/folders).

Behaves like a normal DynamicEntity, but has additional commands to detect if specific Metadata exists.

IPublishing

Publishing Information for ITypedItems.

ISecureData<T>

This object contains decrypted data (if it was encrypted originally) and tells you if the data was encrypted, signed etc. It's still very basic, and will grow in functionality to assist in handling secure / encrypted / signed data.

ITyped

This describes objects which usually wrap other objects to provide strictly typed access to properties. have typed Methods to read properties like .String(propName).

It's usually the result of a AsTyped(something) or AsItem(...) command.

It's meant to help Razor etc. access unknown or dynamic objects in a typed way.

ITypedItem

A typed object to access data. Previously Razor code always used dynamic IDynamicEntity objects. This had some disadvantages when working with LINQ or advanced toolbars.

ITypedStack