Table of Contents

Class Person

Namespace
C4.Net
Assembly
C4.Net.Core.dll

A person who uses a software system.

[DataContract]
public sealed class Person : StaticStructureElement, IEquatable<Person>
Inheritance
Person
Implements
Inherited Members

Properties

CanonicalName

Gets the canonical name for this person.

public override string CanonicalName { get; }

Property Value

string

Location

The location of this person.

[DataMember(Name = "location", EmitDefaultValue = true)]
public Location Location { get; set; }

Property Value

Location

Parent

Persons do not have a parent element in the static structure hierarchy.

public override Element Parent { get; set; }

Property Value

Element

Methods

Delivers(Person, string)

Person-to-person delivery relationships are not supported by this API.

public Relationship Delivers(Person destination, string description)

Parameters

destination Person

The destination person.

description string

The relationship description.

Returns

Relationship

This method never returns a value.

Exceptions

InvalidOperationException

Always thrown because person delivery relationships are modelled via InteractsWith(Person, string).

Delivers(Person, string, string)

Person-to-person delivery relationships are not supported by this API.

public Relationship Delivers(Person destination, string description, string technology)

Parameters

destination Person

The destination person.

description string

The relationship description.

technology string

The interaction technology.

Returns

Relationship

This method never returns a value.

Exceptions

InvalidOperationException

Always thrown because person delivery relationships are modelled via InteractsWith(Person, string, string).

Delivers(Person, string, string, InteractionStyle)

Person-to-person delivery relationships are not supported by this API.

public Relationship Delivers(Person destination, string description, string technology, InteractionStyle interactionStyle)

Parameters

destination Person

The destination person.

description string

The relationship description.

technology string

The interaction technology.

interactionStyle InteractionStyle

The interaction style.

Returns

Relationship

This method never returns a value.

Exceptions

InvalidOperationException

Always thrown because person delivery relationships are modelled via InteractsWith(Person, string, string, InteractionStyle?).

Equals(Person)

Compares this person with another person by canonical identity.

public bool Equals(Person person)

Parameters

person Person

The person to compare with.

Returns

bool

true when both people represent the same model element; otherwise, false.

GetRequiredTags()

Returns the tags that are always applied to people.

public override List<string> GetRequiredTags()

Returns

List<string>

The required person tags.

InteractsWith(Person, string)

Adds an interaction between this person and another.

public Relationship InteractsWith(Person destination, string description)

Parameters

destination Person

the Person being interacted with

description string

a description of the interaction

Returns

Relationship

the resulting Relationship

InteractsWith(Person, string, string)

Adds an interaction between this person and another.

public Relationship InteractsWith(Person destination, string description, string technology)

Parameters

destination Person

the Person being interacted with

description string

a description of the interaction

technology string

the technology of the interaction (e.g. Telephone)

Returns

Relationship

the resulting Relationship

InteractsWith(Person, string, string, InteractionStyle?)

Adds an interaction between this person and another.

public Relationship InteractsWith(Person destination, string description, string technology, InteractionStyle? interactionStyle)

Parameters

destination Person

the Person being interacted with

description string

a description of the interaction

technology string

the technology of the interaction (e.g. Telephone)

interactionStyle InteractionStyle?

the interaction style (e.g. Synchronous or Asynchronous)

Returns

Relationship

the resulting Relationship

InteractsWith(Person, string, string, InteractionStyle?, string[])

Adds an interaction between this person and another.

public Relationship InteractsWith(Person destination, string description, string technology, InteractionStyle? interactionStyle, string[] tags)

Parameters

destination Person

the Person being interacted with

description string

a description of the interaction

technology string

the technology of the interaction (e.g. Telephone)

interactionStyle InteractionStyle?

the interaction style (e.g. Synchronous or Asynchronous)

tags string[]

an array of tags

Returns

Relationship

the resulting Relationship