Simon Cropp 发布了一个 IL 织入(IL weaving)工具,可以将属性变更通知与自动实现属性关联在一起。IL 织入技术,是指装配件中的 IL 代码可以重写,以添加更多功能。在更广泛的技术上下文中,该技术被称为面向方面编程。
Simon 的这个 Notify Property Weaver 有一个有趣的功能,它不需要特性或其他形式的标签。实际上,它分析代码,以确定一般属性与调整过的属性之间的关系。这些关系接下来就会用来确保所有正确的属性变更通知都可以发出。
Notify Property Weaver 作为 MSBuild 任务运行,使用它的项目就不要分发其他额外的程序库。它可以手工配置,或通过 Visual Studio 扩展配置。它支持.NET 3.5 以上版本、SilverLight3 以上版本,以及基于 MIT 协议发布的 Windows Phone 7.
查看英文原文: Using IL Weaving to Inject INotifyPropertyChanged into Properties
更多内容推荐
面向未来的原生化 Web 开发
演讲嘉宾 郭力恒,广发证券前端技术专家。 内容介绍 Webassembly是浏览器的字节码技术。这项技术使原生代码C/C++/Rust可以编译为wasm,并运行于浏览器上。相比原生开发,它跨平台,安全;相比js,它拥有显著的性能优势。 本次分享主要包含两个方面的内容,一个是介绍和推广Webassembly技术,讲解它是如何在浏览器环境下工作的。二是介绍使用Rust,js混合开发WebAssembly应用。使用原生技术开发大前端,由于其无可比拟的性能优势,必然成为未来前端工程师不可缺少的技术栈。
2018 年 9 月 12 日
React 中拖放的实现
无
2018 年 8 月 17 日
WPF 的 Docking 框架 ——AvalonDock
AvalonDock 是一个.NET库,用于在停靠模式布局(docking)中排列一系列WPF/WinForm控件。最新发布的版本原生支持MVVM框架、Aero Snap特效并具有更好的性能。
Telerik 承诺提供一个永久免费的.NET 反编译器
Telerik是一个制作.NET和敏捷开发工具的公司,它宣布用于浏览和反编译代码的工具JustDecompile将会永久免费。
Update By Query & Reindex API
2019 年 8 月 21 日
VB 中动态编程的技巧和挑战:多重分派
随着VBx对动态编程的更多支持计划,现在来讨论Visual Basic中已经存在的动态属性是个不错的时机。这一部分,我们讨论多重分派(Multiple Dispatch)。
换个角度看 Vue 组件
演讲嘉宾唐金州,校宝在线 技术专家,Ant Design Vue 作者,极客时间《Vue开发实战》视频课讲师。第二届 VueConf 演讲嘉宾,主导开发的 Ant Design Vue 在 GitHub 已有 6000+ Star,并且已经纳入 Ant Design 官方域名下,成为了蚂蚁金服 Ant Design 官方唯一指定的 Vue 版组件库。曾任职于搜狗、蚂蚁金服,并主导研发了多个 UI 框架和前端架构设计,在移动端和中后台都有丰富的开发经验。除了 Vue 之外,对 React 也有多年的开发经验。内容介绍组件系统是 Vue 的核心概念,理解 Vue 组件的思想不难,但如何将组件思想有效的传达给后端人员或初级开发人员并不是一件简单的事情,在极客时间《Vue 实战课程》的录制中,对 Vue 组件有了更深一步的理解,当我换个角度看组件之后,发现了一些有趣的事情,并将这些“事情”在Ant Design Vue 中实践。本次 Talk 将从如下5个方面进行分享:演讲提纲: 什么是组件 又爱又恨的函数式组件 当插槽碰上函数式组件 指令的另外一种用处 简约而不简单的 Vue
2019 年 7 月 24 日
蚂蚁亿级金融业务的前端实践
演讲嘉宾沈礼(皓默),蚂蚁金服前端技术专家内容介绍蚂蚁花呗作为金融业务的代表,经过3年时间,逐步成长为一个亿级用户产品。对于互联网金融产品,一方面有着比其他互联网产品更高的可用性和性能,另一方面基于产品特性对于开放、工程、架构设计更高的要求。同时也经历了大部分互联网前端业务的前后端分层、React为代表的前端框架升级改造等技术演进。NodeJS在工程、Web、IOT等领域都有大量的应用场景。在蚂蚁微贷等金融业务中,把它作为BFF(backend for frontend)的实现引入, 显著提升了开发效率和产品质量。同时通过移动端React技术栈升级、容器离线包缓存和PWA技术的使用,顺利地保障亿级用户的双十一大促稳定和业务开放战略。这次分享将会介绍蚂蚁金服以上这些方面的经验。
2018 年 12 月 18 日
了解 JavaScript 新特性:Optional Chaining
Optional Chaining 是 JavaScript 的一个新特性,它允许我们在尝试访问对象的属性之前检查对象是否存在。
C# 7.1 先睹为快(第二部分)
昨天我们介绍了异步Main函数(Async Main)和默认表达式(Default Expressions)。我们的C# 7.1之旅将继续,今天要介绍的特性在建议中称为推导元组名(Infer Tuple Names)和使用泛型的模式匹配(Pattern-matching with Generics)。
Ingest Pipeline & Painless Script
2019 年 8 月 21 日
.NET 和动态语言
在今后的数月和数年内,动态语言将成为.NET平台上越来越重要的角色。微软在动态语言和CLR之间的集成作了大量的投资。
把成熟的代码从.NET 移植到 Mono
跨平台代码重用对很多开发者来说是一个重要目标,而Mono平台正是为了促成这个目标而设计的。但究竟把一个现有的.NET项目移植到Mono有多容易?NDepend的开发者Patrick Smacchia在最近的一篇文章里分享了他的经验。
针对 C++ 和 Delphi 的 LiveBindings 一瞥
绑定表达式(Binding expression)并不是新概念,XAML和Flex开发者主要就依靠这个。但除C++/CX(只用于WinRT编程)之外,原生编程语言中通常见不到这种概念。不过为VCL和FireMonkey设计的LiveBindings却是个例外。
PostSharp 2.0 通过 IDE 的支持,让面向方面编程变得更容易
对于面向方面编程最大的抱怨在于实际编译后的代码难以理解。在看到源代码的时候,开发人员总会问:“究竟是哪个方面产生了影响?”而对于.NET开发人员来说,现在可通过PostSharp找到答案。
暂无签名
推荐阅读
Anders Hejlsbeg 谈论 C# 4.0 和 5.0
SQL Server 最佳实践分析器不再和 Service Packs 捆绑
如何自定义 Webpack 和 Babel 配置
2019 年 4 月 17 日
结课测试题|这些 A/B 测试的知识你都掌握了吗?
2021 年 1 月 14 日
在.NET 框架中使用 C# 8 和可空引用类型
使用 Jest、Enzyme 等工具进行单元测试
2018 年 7 月 17 日
Castle 项目 1.0 RC3 发布
电子书
大厂实战PPT下载
换一换 宫文学 | 北京物演科技 CEO 《编译原理之美》作者
吕艺 | Second State 技术副总裁
余建平 | 美团点评 用户平台研究员
评论