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
Description
An optional description of the interface.
public string Description { get; set; }
Property Value
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
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
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
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
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
Constructors
CkInterfaceDto()
public CkInterfaceDto()