This repository contains common reusable libraries and tools that has been accumulating in some open source projects.
Instead of having one project publish things tangentially to it's core mission, we're migrating that code here.
Simple dotnet classes:
- Microsoft.Perks.CompareExtensions
- Microsoft.Perks.Comparer
- Microsoft.Perks.EqualityComparer
- Microsoft.Perks.DisposableExtensions
- Microsoft.Perks.OnDispose
- Microsoft.Perks.StringExtensions
Async helper classes:
- Microsoft.Perks.Async.Collections.BlockingCollection
- Microsoft.Perks.Async.Linq.LinqExtensions
- Microsoft.Perks.Async.Observable.BlockingCollectionObserver
- Microsoft.Perks.Async.Observable.EnumerableObserver
- Microsoft.Perks.Async.Observable.ObservableAwaiter
- Microsoft.Perks.Async.Observable.ObservableExtensions
- Microsoft.Perks.Async.Observable.WaitableBoolean
- Microsoft.Perks.Async.Task.TaskExtensions
- Microsoft.Perks.Async.Task.TasksCollection
Extensions to Collection Classes:
- Microsoft.Perks.Collections.List
Classes to make EXEs based on the same attributes as PowerShell cmdlets.
The Least Offensive Dependency Injection System - see (documentation)[./docs/Dependency-Injection/Readme.md]
Classes for a better LINQ experience in .NET
- `Microsoft.Perks.Linq.DisposeAsYouGoEnumerable`
- `Microsoft.Perks.Linq.LinqExtensions`
- `Microsoft.Perks.Linq.MutableEnumerable`
- `Microsoft.Perks.Linq.ReEnumerable`
A simple razor-based code generation tool code that transforms .cshtml
files into .cs
files.
Shipped as a nuget package that can be installed in a dotnet-cli project:
<ItemGroup>
<DotNetCliToolReference Include="dotnet-Perks.CodeGen" Version="1.0.0" />
<PackageReference Include="dotnet-Perks.CodeGen" Version="1.0.0">
<PrivateAssets>All</PrivateAssets>
</PackageReference>
</ItemGroup>
This project has adopted the Microsoft Open Source Code of Conduct. For more information see the Code of Conduct FAQ or contact opencode@microsoft.com with any additional questions or comments.