c#中大于等号后直接跟大括号是什么意思,求解。

wing2002li2 2016-04-06 03:04:03
 tb.Plugins.Add(new BoxReorderer()
{
Listeners =
{
Drop =
{
Handler = "var p = container.ownerCt; p.down('dataview').store.sort(p.getSorters());"
}
}
});



其中,listeners后面直等于号直接跟了大括号,请问这在c#是匿名对象还是什么,谢谢。
...全文
422 8 打赏 收藏 转发到动态 举报
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
Poopaye 2016-04-06
  • 打赏
  • 举报
回复
引用 6 楼 wing2002li2 的回复:
[quote=引用 5 楼 shingoscar 的回复:] [quote=引用 3 楼 shingoscar 的回复:] Listeners 的类型是dynamic就能这样写
我错了,3各类这样定义就能这么写 初始化的语法应该就是这样的 根本不涉及什么匿名一说
	class BoxReorderer
	{
		public XXX Listeners;
	}

	class XXX
	{
		public YYY Drop;
	}

	class YYY
	{
		public string Handler;
	}
[/quote] 3各类是什么。。。[/quote] 打错了:3个类
秋的红果实 2016-04-06
  • 打赏
  • 举报
回复
"var p = container.ownerCt; p.down('dataview').store.sort(p.getSorters());" 就是匿名方法,相当于 AnyType theMethod() { var p = container.ownerCt; return p.down('dataview').store.sort(p.getSorters());" } 调用 Handler=theMethod();
wing2002li2 2016-04-06
  • 打赏
  • 举报
回复
引用 5 楼 shingoscar 的回复:
[quote=引用 3 楼 shingoscar 的回复:] Listeners 的类型是dynamic就能这样写
我错了,3各类这样定义就能这么写 初始化的语法应该就是这样的 根本不涉及什么匿名一说
	class BoxReorderer
	{
		public XXX Listeners;
	}

	class XXX
	{
		public YYY Drop;
	}

	class YYY
	{
		public string Handler;
	}
[/quote] 3各类是什么。。。
Poopaye 2016-04-06
  • 打赏
  • 举报
回复
引用 3 楼 shingoscar 的回复:
Listeners 的类型是dynamic就能这样写
我错了,3各类这样定义就能这么写 初始化的语法应该就是这样的 根本不涉及什么匿名一说
	class BoxReorderer
	{
		public XXX Listeners;
	}

	class XXX
	{
		public YYY Drop;
	}

	class YYY
	{
		public string Handler;
	}
wing2002li2 2016-04-06
  • 打赏
  • 举报
回复
引用 1 楼 wmingcsharp 的回复:
是的,你说的对,直接创建了
在这里,Listeners是只读属性,它为什么可以通过这种方法赋值。
Poopaye 2016-04-06
  • 打赏
  • 举报
回复
Listeners 的类型是dynamic就能这样写
  • 打赏
  • 举报
回复
确认不报错? 不过我貌似在某些地方看过类似的写法,当时也觉得很诡异,不报错
mingcsharp 2016-04-06
  • 打赏
  • 举报
回复
是的,你说的对,直接创建了

110,537

社区成员

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

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

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