我有一个类有一些返回this
的方法,这样我就可以将调用链接在一起了:
public class Person {
public string FirstName { get; set; }
public string LastName { get; set; }
public Person WithFirstName(string firstName) {
FirstName = firstName;
return this;
}
public Person WithLastName(string lastName) {
LastName = lastName;
return this;
}
}
然而,当我将足够多的方法链接在一起以便ReSharper中的Right margin (columns)
设置时,表达式的格式有点时髦。
var john =
new Person().WithFirstName("John")
.WithLastName("Smith")
.WithLastName("Smith")
.WithLastName("Smith")
.WithLastName("Smith");
显然,这个例子有点人为,因为我永远不会一遍又一遍地调用相同的方法,但在我的生产代码中,我与Fluent API接口,Fluent API通过将大约10个方法调用链接在一起来配置
理想情况下,代码的格式如下:
// on a single line when less characters than `Right margin (columns)`
var john = new Person().WithFirstName("John").WithLastName("Smith");
// aligned at the "." when longer than `Right margin (columns)`
var john = new Person().WithFirstName("John")
.WithLastName("Smith")
.WithLastName("Smith")
.WithLastName("Smith")
.WithLastName("Smith");
真正的问题是为什么ReSharper将整个表达放在一个新的界限上。有什么建议吗?