dlr bug
[mcs.git] / docs / ecma334 / 18.3.3.xml
blobae3d694004e7c913216639ba5ae4bc8382c13133
1 <?xml version="1.0"?>
2 <clause number="18.3.3" title="Assignment">
3   <paragraph>Assignment to a variable of a struct type creates a copy of the value being assigned. This differs from assignment to a variable of a class type, which copies the reference but not the object identified by the reference. </paragraph>
4   <paragraph>Similar to an assignment, when a struct is passed as a value parameter or returned as the result of a function member, a copy of the struct is created. A struct may be passed by reference to a function member using a ref or out parameter. </paragraph>
5   <paragraph>When a property or indexer of a struct is the target of an assignment, the instance expression associated with the property or indexer access must be classified as a variable. If the instance expression is classified as a value, a compile-time error occurs. This is described in further detail in <hyperlink>14.13.1</hyperlink>. </paragraph>
6 </clause>