in other words, do not cast one type to another using a member of the source type. for example, a button class has a string property name. it is valid to cast the button to the control (since button is a control), but it is not valid to cast the button to a string by returning the value of the name property. 