我需要传递html属性。
可以像这样包装成一个表达式代码吗?
var tempDictionary = new Dictionary<string, object> {
{ "class", "ui-btn-test" },
{ "data-icon", "gear" }
}.Add("class", "selected");
或
new Dictionary<string, object> ().Add("class", "selected").Add("diabled", "diabled");
答案 0 :(得分:1)
您所指的是方法链。一个很好的例子是StringBuilder的Append
方法。
StringBuilder b = new StringBuilder();
b.Append("test").Append("test");
这是可能的,因为Append方法返回StringBuilder
对象
public unsafe StringBuilder Append(string value)
但是,在您的情况下,Dictionary<TKey, TValue>
的Add方法标记为void
public void Add(TKey key, TValue value)
因此,不支持方法链接。但是,如果您真的想在添加新项目时使用方法链接,则可以随时自行滚动:
public static Dictionary<TKey, TValue> AddChain<TKey, TValue>(this Dictionary<TKey, TValue> d, TKey key, TValue value)
{
d.Add(key, value);
return d;
}
然后你可以编写以下代码:
Dictionary<string, string> dict = new Dictionary<string, string>()
.AddChain("test1", "test1")
.AddChain("test2", "test2");