{{fbdoc item="title" value="Operator . (Member access)"}}----
Returns a reference to a member from a reference to an object

{{fbdoc item="syntax"}}##
	[[KeyPgDeclare|Declare]] [[KeyPgOperator|Operator]] **.** ( [[KeyPgByref|Byref]] //lhs// [[KeyPgAs|As]] //T// ) [[KeyPgByref|Byref]] [[KeyPgAs|As]] //U//
##
{{fbdoc item="usage"}}##
	//result// = //lhs// **.** //rhs//
##
{{fbdoc item="param"}}
	##//lhs//##
		An object.
	##//T//##
		A user-defined type.
	##//rhs//##
		The name of a member to access.
	##//U//##
		The type that ##//rhs//## refers to.

{{fbdoc item="ret"}}
	Returns a reference to the member specified by ##//rhs//##.

{{fbdoc item="desc"}}
	**##Operator .## (Member access)** returns a reference to a member of an object.
	
	**##Operator .## (Member access)** can also be used to access members of an implicit object inside a ##[[KeyPgWith|With..End With]]## block.
	
	This operator cannot be overloaded.

{{fbdoc item="ex"}}

{{fbdoc item="filename" value="examples/manual/udt/access.bas"}}%%(freebasic)
type T
	as integer a, b
end type

dim x as T

'' Access the member 'a' of x.
x.a = 10

'' Access the member 'b' of x.
with x
	.b = 20
end with
%%

{{fbdoc item="lang"}}
	- None

{{fbdoc item="diff"}}
	- None

{{fbdoc item="see"}}
	- ##[[KeyPgOpPtrMemberAccess|Operator -> (Pointer to member access)]]##
	- ##[[KeyPgOpAt|Operator @ (Address of)]]##
	- ##[[KeyPgOpValueOf|Operator * (Value of)]]##
	- ##[[KeyPgWith|With..End With]]##

{{fbdoc item="back" value="CatPgOpTypeclass|Type or Class Operators"}}{{fbdoc item="back" value="CatPgOperators|Operators"}}
   

   
