使用 C# 4.0 动态作为其重要组成部分的库有哪些?
问问题
102 次
1 回答
4
最强大的用途dynamic
是邪恶的化身,不应该在生产代码附近使用。
例如:
var sql = SqlBuilder.MyDatabase
* "SELECT * FROM MyTable WHERE UserName = " + userName;
User result = sql;
dynamic
可以用来userName
变成一个参数,把最后一行变成一个ExecuteReader()
调用。
灵感来自 Jon Skeet
另一个例子:
var _ = RestClient.Builder;
var endpoint = _.https/_.api.stackexchange.com/2.1/_.answers
var results = endpoint(sort: "activity", order: "desc", site: "stackoverflow");
// Returns https://api.stackexchange.com/2.1/answers?order=desc&sort=activity&site=stackoverflow as dynamic JSON
_
需要允许任意标识符。
您可以摆脱_
使用表达式树:
var endpoint = RestClient.Build((https, api, answers) =>
https/api.stackexchange.com/2.1/answers
);
这使用参数名称来允许任意标识符。
于 2013-05-30T14:56:22.640 回答