写点什么

微软的编译器 API,Roslyn 的新特性

  • 2012-07-02
  • 本文字数:620 字

    阅读完需:约 2 分钟

Roslyn 是一系列用于处理编译、脚本、工作空间和 IED 服务的程序库。它是一种可扩展的模型,最先的两种目标语言是 VB 和 C#。尽管离完成还很远——Roslyn 的目标是 VB 12 和 C# 6,但这次发布是项目的重要里程碑。

对于 C#,编译器现在支持大多数语言特性。async、dynamic 和部分可空的算术特性(nullable arithmetic)还很突出。在上个预览版中没有提供的其他特性,包括查询表达式(query expressions)、匿名类型(anonymous types)、匿名函数(anonymous functions)和迭代块(iterator blocks),现在已经都可用了。

Visual Basic 也在语言上做出了很多类似的进展,现在已经实现。旧的特性,像隐式声明的本地变量(选项显式关闭,Option explicit Off)位于列表之中,但是遗留的错误处理(On Error GoTo X)并不在列表之内。迭代器和 Async 特性还有待于实现。

API 本身也得到了很多改善,很多接口被完全删除,或者被简单的事件所替代。例如,我们现在可以不实现IWorkspaceListener,而是监听Workspace.WorkspaceChanged 事件。

现在为C#提供有交互性的、REPL 样式的控制台。你可以从View->Other Windows 菜单载入它。最终也会为VB 提供类似的控制台。

Roslyn CTP 站点包含了新版本,还有对 VS 2012 的支持,以及大量例子和白皮书。使用这个版本之前先要安装 Visual Studio 2010 SP 1 SDK 。如果你有 Visual Studio 2012,那么也需要 Visual Studio 2012 RC SDK

查看英文原文: What’s new with Roslyn, Microsoft’s Compiler APIs

2012-07-02 19:442100
用户头像

发布了 340 篇内容, 共 129.7 次阅读, 收获喜欢 13 次。

关注

评论

发布
暂无评论
发现更多内容

聊聊Java运算符的那些事

Bob

Java 9月日更

【LeetCode】找到需要补充粉笔的学生编号Java题解

Albert

算法 LeetCode 9月日更

缓存核心知识小抄,面试必备,赶紧收藏!

博文视点Broadview

计算机工业的生态链(二)

姬翔

9月日更

TDSQL(MySQL版)之DB组件升级

腾讯云数据库

数据库 tdsql

一分钟带你了解Huawei LiteOS组件开发指南

华为云开发者联盟

curl 内核 组件 Huawei LiteOS 组件开发

官方披露 TDSQL 十年自主可控之路

腾讯云数据库

数据库 tdsql

Golang 中的整洁架构

baiyutang

架构 DDD Go 语言 9月日更

让Chrome爽到飞起的5款小众插件!

Jackpop

一次带宽拉满引发的百分百超时血案!

Gopher指北

Go 语言

数据库连接池

邱学喆

WGCLOUD新特性,新增指令下发批量执行能力

王逅逅

DevOps Grafana #zabbix linux面板 linux监测

深入理解rtmp(二)之C++脚手架搭建

轻口味

android 音视频 直播 RTMP 9月日更

编程基础:硬件同步原语

正向成长

CAS 硬件同步原语 FAA

15. 弱人工智能、强人工智能、超人工智能

Databri_AI

人工智能

Vue进阶(幺零五):elementUI 实现表格行列拖拽

No Silver Bullet

Vue 9月日更

Jira API的踩坑记

FunTester

接口测试 API Jira FunTester 缺陷管理

重放浏览器单个请求性能测试实践

FunTester

性能测试 接口测试 测试框架 测试开发 FunTester

为什么 Golang 正在接管软件行业

云原生

云计算 Kubernetes 云原生 编程语言 Go 语言

Rust 从 0 到 1

rust

【Flutter 专题】51图解动画小插曲之 Flare 动画

阿策小和尚

Flutter 小菜 0 基础学习 Flutter Android 小菜鸟 9月日更

观测未来,携手同行!驻云诚邀您参加2021 OSCAR 开源产业大会!文末报名福利!

观测云

开源 可观测

TDSQL分布式数据库的HDFS和LOCAL备份配置

腾讯云数据库

数据库 tdsql

解决网卡“Device eth0 does not seem to be present, delaying initialization”

耳东@Erdong

9月日更 网卡

有个码龄 10 年的程序员跟我说:“他编程从来不用鼠标”,我说:

梦想橡皮擦

9月日更

手撸二叉树之二叉树的所有路径

HelloWorld杰少

9月日更

Python代码阅读(第26篇):将列表映射成字典

Felix

Python 编程 Code Programing 阅读代码

Java从入门到升仙的书单推荐,附带读书笔记

Silently9527

Java书籍推荐 Java进阶书籍推荐 Mysql读书笔记

什么是可中断锁?有什么用?怎么实现?

王磊

9月日更

云随想一:企业为什么要上云?

FLASH

原生云

代码工具:VSCode

正向成长

vscode

微软的编译器API,Roslyn的新特性_.NET_Jonathan Allen_InfoQ精选文章