Skip to main content

CkInterfaceDto

Namespace: Meshmakers.Octo.ConstructionKit.Contracts.DataTransferObjects

A CK interface (CK v2, AB#5667): a versioned contract that types declare with implements. Members are attributes, associations (F1.1-S5) and methods (F1.1-S5, definitions only); an interface may extend other interfaces and inherits their members. Used both in source YAML (interfaces/*.yaml) and in compiled models.

public class CkInterfaceDto

Inheritance Object → CkInterfaceDto

Properties​

InterfaceId​

The interface id with its mandatory element version (= contract version), e.g. Named-1.

public CkInterfaceId InterfaceId { get; set; }

Property Value​

CkInterfaceId

Description​

An optional description of the interface.

public string Description { get; set; }

Property Value​

String

Attributes​

The attribute members of the interface (may be empty when the interface has other members or extends another interface, F1.1-S5).

public List<CkInterfaceAttributeDto> Attributes { get; set; }

Property Value​

List<CkInterfaceAttributeDto>

Extends​

CK v2 (F1.1-S5): the interfaces this interface extends, e.g. ${this}/Named-1. Their members are inherited (transitively); implementing this interface implements the extended ones, too.

public List<CkId<CkInterfaceId>> Extends { get; set; }

Property Value​

List<CkId<CkInterfaceId>>

Associations​

CK v2 (F1.1-S5): the association members — an implementing type has an outbound association with the role to a target type or interface.

public List<CkInterfaceAssociationDto> Associations { get; set; }

Property Value​

List<CkInterfaceAssociationDto>

Methods​

CK v2 (F1.1-S5): the method members (definitions only, same schema as type methods).

public List<CkMethodDto> Methods { get; set; }

Property Value​

List<CkMethodDto>

Deprecated​

CK v2 (F1.1-S5): a deprecated interface stays usable; dependents get a compile warning. It is removed in the next model major only. null (omitted) means false.

public Nullable<bool> Deprecated { get; set; }

Property Value​

Nullable<Boolean>

Visibility​

CK v2 (F1.1-S4): Internal elements may only be referenced inside the declaring model. null (omitted) means CkVisibilityDto.Public. Requires ckLanguage: 2.

public Nullable<CkVisibilityDto> Visibility { get; set; }

Property Value​

Nullable<CkVisibilityDto>

Constructors​

CkInterfaceDto()​

public CkInterfaceDto()