内联语句键对值

时间:2011-10-11 16:25:30

标签: c# asp.net

我有以下HtmlLink:

HtmlLink htmlLink = new HtmlLink(); 
htmlLink.Attributes.Add("href", "/style/" + category + ".css"); 
htmlLink.Attributes.Add("type", "text/css"); 
htmlLink.Attributes.Add("rel", "stylesheet"); 

我试图用一行语句写它,但我不知道写一个语句的正确语法:

List<string> list = new List<string> { "one", "two", "three" };

这样做的:

HtmlLink htmlLink = new HtmlLink() { ???? };

有人能满足我的好奇心吗?

1 个答案:

答案 0 :(得分:0)

据我所知,无法做到。你总是可以写一个扩展方法:

public static void AddAttributes(this HtmlLink thisLink, IDictionary<string, string> attributes)
{
  foreach(var attribute in attributes.Keys)
  {
    thisLink.Attributes.Add(attribute.Key, attribute.Value);
  }
}

用法:

var link = new HtmlLink();
link.AddAttributes(new Dictionary<string,string>{{"Key1","Value1"},{"Key2","Value2"}};

不确定这比多个添加有很大的优势。另一种选择是在某个地方编写一个辅助方法,接受一个字典,然后用它的属性设置吐出一个HtmlLink。