- Loading...
Sponsored by Dometrain Courses—Get 30% off Dometrain Pro with code ANDREW30 and access the best courses for .NET Developers

My new book ASP.NET Core in Action, Third Edition is available now! It supports .NET 7.0, and is available as an eBook or paperback.
![Banner image for Simplifying [Theory] test data with Xunit.Combinatorial](/content/images/2024/xunit_combinatorial_banner.png)
Simplifying [Theory] test data with Xunit.Combinatorial
In this post I show how you can simplify your xUnit [Theory] tests using the Xunit.Combinatorial package to auto-generate your test parameters…

Creating source-only NuGet packages
In this post I show how you can create a NuGet package that contains source code (instead of dlls) which is then compiled into the target project…

Disambiguating types with the same name with extern alias
In this post I describe how to solve Error CS0433, where you have two types with the exact same name and namespace coming from two different packages…

Adding support for collection expressions to your own types
Behind the scenes of collection expressions - Part 5
In this final post of the series I show how to add support for collection expressions to your own types that don't support them automatically…

Exploring the generated code: the spread element
Behind the scenes of collection expressions - Part 4
In this post I show what the compiler generates when you use collection expressions with the spread element and how it depends on the collections used…
![Banner image for Exploring the generated code: T[], Span<T>, and Immutable collections](/content/images/2024/collection_expressions_banner_3.png)
Exploring the generated code: T[], Span<T>, and Immutable collections
Behind the scenes of collection expressions - Part 3
In this post I look at the code generated when you use collection expressions with T[], ReadOnlySpan<T>, Span<T>, and immutable collections…

