在C#6中,您可以通过使用仅限getter的自动属性来简化属性的实现.例如,如果我正在实现抽象Stream类:
public override bool CanRead { get; } = true;
Run Code Online (Sandbox Code Playgroud)
但是我也可以用表达式体写它,在C#6中也是新的:
public override bool CanRead => true;
Run Code Online (Sandbox Code Playgroud)
两者之间有什么区别,什么时候应该使用其中一个?
鉴于以下内容:
public class SomePoco {
public int IntValue { get; }
}
Run Code Online (Sandbox Code Playgroud)
和
CREATE TABLE SomePocoStorage (IntValue INT NOT NULL)
Run Code Online (Sandbox Code Playgroud)
和
INSERT SomePocoStorage VALUES (1), (274)
Run Code Online (Sandbox Code Playgroud)
如果我打电话
connection.Query<SomePoco>("SELECT * FROM SomePocoStorage")
Run Code Online (Sandbox Code Playgroud)
Dapper是否处理IntValue在返回的SomePoco实例上填充字段?