C# 中“ private sealed class <>c”的“<>”是什么命名约定吗?

2016-10-30 20:17:00 +08:00
 OLEREO

最近看到一个类的定义

		[CompilerGenerated]
		[Serializable]
		private sealed class <>c
		{
			public static readonly Main.<>c <>9 = new Main.<>c();

			public static Func<Result, int> <>9__5_1;

			internal int <Query>b__5_1(Result o)
			{
				return o.get_Score();
			}
		}

不理解这个“<>c ”,这个应该是单纯的类名,不是泛型吧。 而且这个类里面的“<>9 ”“<>9__5_1 ”,也用了“<>”开头。

这样命名究竟代表了什么意思?

5208 次点击
所在节点    问与答
3 条回复
xiandao7997
2016-10-30 20:31:07 +08:00
你看的是编译器生成的代码 /反编译出来的代码吧,这个应该是编译器自己的行为,为了和程序员自己写的代码做区分,
OLEREO
2016-10-30 20:37:58 +08:00
@xiandao7997 这段确实是反编译出来的。之前看《 CLR via C#》也有这个疑问,看了你的回答,翻书回去看带有这个命名的代码,人家还确实说了是编译器的行为。感谢解惑
xiandao7997
2016-10-30 20:40:14 +08:00
@OLEREO 我也是从《 clr via c#》里看来的,依稀有点印象,巧了 :D

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/316621

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX