PostSharp Ultimate为 C# 和 VB 添加模式和线程安全
PostSharp Ultimate allows developers to eradicate boilerplate code by offloading repetitive work from humans to machines. It contains ready-made implementations of most common patterns and gives you the tools to build automation for your own patterns. Developers usually think in terms of design patterns, but with conventional programming languages, they end up writing boilerplate code. PostSharp extends the C# and VB languages with the notion of the pattern. The result is shorter, cleaner code that’s easier to write and understand, contains fewer defects and is less expensive to maintain.
PostSharp Benefits:
Free yourself from repetitive code.
Reduce development costs and deliver faster.
Build more reliable software.
Add functionality more easily after the first release.

Get new team members productive quicker.
PostSharp Ultimate includes:
PostSharp Framework – Pattern-aware compiler extension for C# and VB.
PostSharp XAML – Companion for your XAML developments.
PostSharp Diagnostics – An instrumentation toolbox for .NET and .NET Core.
PostSharp Threading – A pragmatic way to write machine-verified, thread-safe code.
PostSharp Caching – A straightforward way to improve your application performance.
PostSharp Framework
Build automation for your own patterns to reduce development effort and improve architecture. With PostSharp you can build automation for any pattern you need. Amplify developer skills, build custom patterns and benefit from exceptional performance.
PostSharp XAML
Stop writing repeating code for INotifyPropertyChanged, commands, dependency properties, contracts, undo/redo, and more.
PostSharp Diagnostics
Allows you to add extensive logging to your application in minutes and direct it to any logging framework. PostSharp Diagnostics is easy to use but still provides all the detail you need, see parameter values, timing, and more. Much faster than hand-written code and fully customizable, you can override every single moving part. PostSharp also provides integration with your existing logging framework.