Did you mean the automatic properties or the in-place assignment?
Depends on your team IMO. If your team were comprised of C-style devs. Then I think it is ok.
But if this code is gonna be maintained further by, say, VB developers, then you'd need
to make this more readable.
Examples? The assignment operator (=) in C langauges also return the values it's assigned.
var a = 0;
var b = 0;
// This makes a *and* b equals to 1
a = b = 1;
// This line prints 3 and a is now equals to 3
Console.WriteLine(a = 3);
// This line prints 7 and a and b is now equals to 7
Console.WriteLine(a = b = 7);
I think it is rather natural for this kind of assignment to happen. Because the C-languages seem to encourage shorthand notations IMO.
If you need more readability and less trouble, then I'd say a newline is a nice add.
displayReport(
ReportClass.ReportName = cmbReportName.SelectedValue.ToString());
Make your intentions clearer when each compounded statements are on different lines. (but still a compound statement)
Or, extract the right part out into its own variable first, e.g.
var reportName = cmbReportName.SelectedValue.ToString();
displayReport(ReportClass.ReportName = reportName);
I use it all the time, and I havn't seen anyone confused upon reading it yet.