akamsteeg / AtleX.HaveIBeenPwned

A fully async .NET Standard client library for the API of HaveIBeenPwned.com
https://www.nuget.org/packages/AtleX.HaveIBeenPwned/
MIT License
5 stars 0 forks source link

Investigate the move to to C#10 with records and/or investigate a multi targeting solution to accommodate this #48

Open akamsteeg opened 3 years ago

akamsteeg commented 3 years ago

Currently, Breach, SiteBreach and Paste are not meant to be mutable but they are because of pre-C#8 language constructs. They're mutable because they need to be serializable by everything before .NET 50. I'd like to suggest making them immutable by specifying 'init' access modifiers on their property setters for . NET 5 so we solve this issue.. This might require introducing a .NET 5.0 target.

Goal: Investigate the impact, solution approaches, etc. Document them in this issue so we can make a decision on this topic.

akamsteeg commented 1 year ago

Related: #68