怎么设计类型能实现这种构造写法?

Shalves 2012-02-08 02:15:21
这是MVC中URLRouting中的一种类型,被当成参数引用的时候,可以使用下面这种非常简单明了的写法
new RouteValueDictionary { { "p", "1" }, {"typ", "0"} };

请问有没有高手知道如果要实现这种构造,那么类要继承什么父类或者接口?
最好提供代码示例,不甚感激
...全文
57 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
Shalves 2012-02-08
  • 打赏
  • 举报
回复
[Quote=引用 3 楼 wanghui0380 的回复:]
另外集合初始化器还需要一个add方法,这个比较古怪是一个硬性的硬编码方式,不是通过接口完成

ps:
有关匿名对象使用,不建议跨作用域使用,跨作用域下,你想知道对象是啥,只能用反射查询了
[/Quote]

感谢,刚试了一下,那种new xxx { { "p", "1" }, {"typ", "0"} };的写法的确是调用的该类型的Add方法
wanghui0380 2012-02-08
  • 打赏
  • 举报
回复
另外集合初始化器还需要一个add方法,这个比较古怪是一个硬性的硬编码方式,不是通过接口完成

ps:
有关匿名对象使用,不建议跨作用域使用,跨作用域下,你想知道对象是啥,只能用反射查询了
Shalves 2012-02-08
  • 打赏
  • 举报
回复
高手今天都没上吗??

另外还有一个问题。

如果一个方法接受匿名类作为参数,那么在这个方法内部,怎么访问这个匿名类的实例的属性?

比如
先有

var o = new { name = "abc", age = 12};

class b
{
void test(object o){
//这里怎么知道 o有 o.name和 o.age属性?
}
}
wanghui0380 2012-02-08
  • 打赏
  • 举报
回复
这是集合初始化器,要求对象具有IEnumerable接口的实现

110,537

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Web++
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧