An instance access expression consists of the Self keyword.
self-access:
Self
An instance access expression can be used only within an instance constructor, instance method, or instance property access method. It has one of the following values:
When an instance access expression is used in a primary expression within the instance class constructor body, it is classified as a value. A value type is a class, within which instance access expression is used and the value itself is a reference to the created object of this class.
When an instance access expression is used in a primary expression within the instance method or the access method of an instance class property's body, it is classified as a value. A value type is a class, within which an instance access expression is used and the value itself is a reference to the object instance, for which the method is invoked.
When an instance access expression is used in a primary expression within the instance structure constructor body, it is classified as a variable. A variable type is a structure, within which the instance access expression is used, and the variable represents a created structure.
When an instance access expression is used in a primary expression within the instance method or the access method of instance structure property's body, it is classified as a variable. A variable type is the structure, within which an instance access expression is used, a variable represents the structure, for which the method is invoked.
Using an instance access expression in another context is not permitted and results in a compilation error.
See also: