protected bool IsAssignmentToSpecialMember(BinaryExpression node)
{
if (BinaryOperatorType.Assign == node.Operator &&
NodeType.MemberReferenceExpression == node.Left.NodeType)
{
MemberReferenceExpression memberRef = node.Left as MemberReferenceExpression;
Expression target = memberRef.Target;
return !IsTerminalReferenceNode(target)
&& IsSpecialMemberTarget(target);
}
return false;
}