您是指自动属性还是就地分配?
取决于您的团队 IMO。如果您的团队由 C 风格的开发人员组成。那我觉得还可以。
但是,如果要由 VB 开发人员进一步维护此代码,那么您需要使其更具可读性。
例子?C 语言中的赋值运算符 (=) 也返回它所分配的值。
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);
我认为这种分配发生是很自然的。因为 C 语言似乎鼓励速记符号 IMO。
如果您需要更多的可读性和更少的麻烦,那么我会说换行符是一个不错的添加。
displayReport(
ReportClass.ReportName = cmbReportName.SelectedValue.ToString());
当每个复合语句位于不同的行时,使您的意图更加清晰。(但仍然是复合语句)
或者,首先将正确的部分提取到它自己的变量中,例如
var reportName = cmbReportName.SelectedValue.ToString();
displayReport(ReportClass.ReportName = reportName);
我一直在使用它,我还没有看到有人在阅读它时感到困惑。