自动扩展 C# 3 语法糖

Posted

技术标签:

【中文标题】自动扩展 C# 3 语法糖【英文标题】:Automatically expand C# 3 syntactic sugar 【发布时间】:2009-05-08 12:26:43 【问题描述】:

您好,我遇到了 SlimDX 示例,它只是假装支持 VS 2005。嗯,有 VS2005 解决方案/项目文件,但源代码本身包含 C# 3.0 新语言功能(主要是自动属性)。手动将这些东西转换为 C# 2.0 将是地狱​​。是否有任何工具,它会自动执行?谢谢!

【问题讨论】:

【参考方案1】:

我知道免费提供的CodeRush Express 可以做到这一点,因为我已经使用过它。该功能称为“创建后备存储”。那里还有其他重构,我确信转换为推断类型('var')也是可能的。

【讨论】:

谢谢,但我无法让 CodeRush Express 在 VS 2005 中工作。它安装正常,但我在 VS 的任何地方都看不到它。感谢您的帮助。 没错,它不像是在菜单中或其他任何地方,但是如果将光标放在自动属性上,您应该会看到一个蓝色下划线(类似于红色下划线)。此外,按 ctrl+` 键应该会显示 CodeRush 的重构菜单。 False,因为我不得不修复DXCore包,最终集成到VS中。愚蠢的安装程序...【参考方案2】:

Resharper 肯定会通过几次点击将自动属性转换为带有支持字段的属性。

它还将根据您定义的标准处理一批文件,以便您可以让它做您需要的事情。

【讨论】:

【参考方案3】:

尝试使用 C# 3.0 编译器编译源代码,然后使用 Reflector + FileDisassembler 将反编译的源代码转储到与 C# 2.0 兼容的文件中。

【讨论】:

以上是关于自动扩展 C# 3 语法糖的主要内容,如果未能解决你的问题,请参考以下文章

看看C# 6.0中那些语法糖都干了些什么(上篇)

C#语法糖

C#中切片语法糖的使用

C#语法糖系列 —— 第一篇:聊聊 params 参数底层玩法

剖析异步编程语法糖:async 和 await

c#语法糖汇总