BigBook 6.0.0
dotnet add package BigBook --version 6.0.0
NuGet\Install-Package BigBook -Version 6.0.0
<PackageReference Include="BigBook" Version="6.0.0" />
paket add BigBook --version 6.0.0
#r "nuget: BigBook, 6.0.0"
// Install BigBook as a Cake Addin #addin nuget:?package=BigBook&version=6.0.0 // Install BigBook as a Cake Tool #tool nuget:?package=BigBook&version=6.0.0
Big Book of Data Types
Big Book of Data Types is a set of classes and extension methods to help with data. This includes classes for caching, data comparison, data conversion, data mapping, string formatting, as well as various data types that are missing from .Net.
Setting Up the Library
Depending on the features you use in Big Book of Data Types, you may need to register it with your ServiceCollection as the Dynamo class requires it in order to hook itself up. In order for this to work, you must do the following at startup:
services.RegisterBigBookOfDataTypes();
or
services.AddCanisterModules();
As the library supports Canister Modules. The RegisterBigBookOfDataTypes function is an extension method on your app's ServiceCollection. When this is done, the Dynamo class is ready to use. If you are not using that class, you should be able to go without registration.
Basic usage
Most of the library is simply data types that can be used fairly easily. These include:
- Bag
- BinaryTree
- DateSpan
- Fraction
- ListMapping
- Matrix
- ObservableList
- PriorityQueue
- RingBuffer
- Set
- Table
- TagDictionary
- TaskQueue
- Vector3
Similarly the extension methods for various types can be found by adding:
using BigBook;
To your list of usings. From there a number of extension methods should be available for arrays, IEnumerable, string, ConcurrentBag, ConcurrentDictionary, DateTime, Exception, ICollection, IComparable, IDictionary, MatchCollection, Process, Stream, TimeSpan, etc. There are a couple hundred extension methods and I suggest you just take a look at them to see what they do. Another portion of the library that might be of some interest and yet not completely intuitive is the Dynamo class.
Dynamo is a true dynamic type for .Net. ExpandoObject is generally great for basic work that requires a dynamic, however it is not easy to convert to other data types. For instance you can't do this:
dynamic MyDynamicValue=new ExpandoObject();
SomeClass FinalObject=MyDynamicValue;
Dynamo, on the other hand, has no issues with this:
dynamic MyDynamicValue=new Dynamo();
SomeClass FinalObject=MyDynamicValue;
The class handles conversion to and from class types, can convert properties from one type to another, and comes with a set of built in functionality. The class implements INotifyPropertyChanged, has a built in change log, and is thread safe. It can also be added as a base class for other classes to add this functionality automatically.
Installation
The library is available via Nuget with the package name "BigBook". To install it run the following command in the Package Manager Console:
Install-Package BigBook
Build Process
In order to build the library you will require the following:
- Visual Studio 2022
Other than that, just clone the project and you should be able to load the solution and build without too much effort.
Product | Versions Compatible and additional computed target framework versions. |
---|---|
.NET | net8.0 is compatible. net8.0-android was computed. net8.0-browser was computed. net8.0-ios was computed. net8.0-maccatalyst was computed. net8.0-macos was computed. net8.0-tvos was computed. net8.0-windows was computed. net9.0 is compatible. |
-
net8.0
- Aspectus (>= 6.0.1)
- Microsoft.Extensions.ObjectPool (>= 9.0.0)
- ObjectCartographer.SQL (>= 4.0.1)
- System.Collections.NonGeneric (>= 4.3.0)
- System.ComponentModel.TypeConverter (>= 4.3.0)
- System.Data.Common (>= 4.3.0)
- System.Data.SqlClient (>= 4.9.0)
- System.Diagnostics.Process (>= 4.3.0)
- System.Diagnostics.StackTrace (>= 4.3.0)
- System.Reflection.TypeExtensions (>= 4.7.0)
- System.Runtime (>= 4.3.1)
- System.Threading.Tasks.Parallel (>= 4.3.0)
- System.Threading.Thread (>= 4.3.0)
-
net9.0
- Aspectus (>= 6.0.1)
- Microsoft.Extensions.ObjectPool (>= 9.0.0)
- ObjectCartographer.SQL (>= 4.0.1)
- System.Collections.NonGeneric (>= 4.3.0)
- System.ComponentModel.TypeConverter (>= 4.3.0)
- System.Data.Common (>= 4.3.0)
- System.Data.SqlClient (>= 4.9.0)
- System.Diagnostics.Process (>= 4.3.0)
- System.Diagnostics.StackTrace (>= 4.3.0)
- System.Reflection.TypeExtensions (>= 4.7.0)
- System.Runtime (>= 4.3.1)
- System.Threading.Tasks.Parallel (>= 4.3.0)
- System.Threading.Thread (>= 4.3.0)
NuGet packages (9)
Showing the top 5 NuGet packages that depend on BigBook:
Package | Downloads |
---|---|
FileCurator
FileCurator is a simple manager for your files. It tries to give them a common interface to deal with files whether on your system or other locations. |
|
SQLHelper.DB
SQLHelper is a simple class to help with databases. |
|
Mirage
Mirage is an open source library for .Net designed to create random data for POCOs, unit tests, etc. Supports .Net Core as well as full .Net. |
|
Valkyrie
Valkyrie is a simple validation library that adds a number of DataAnnotations. |
|
FileCurator.Windows
FileCurator.Windows is a set of formats that are only available using the full version of the .Net framework. If an alternative is built in .Net Standard these will be replaced. So consider this a hold over. |
GitHub repositories
This package is not used by any popular GitHub repositories.
Version | Downloads | Last updated |
---|---|---|
6.0.0 | 175 | 11/18/2024 |
5.1.63 | 1,067 | 11/12/2024 |
5.1.62 | 907 | 11/11/2024 |
5.1.61 | 1,175 | 11/5/2024 |
5.1.60 | 602 | 11/4/2024 |
5.1.59 | 1,124 | 10/30/2024 |
5.1.58 | 661 | 10/29/2024 |
5.1.57 | 75 | 10/29/2024 |
5.1.56 | 1,120 | 10/15/2024 |
5.1.55 | 2,111 | 10/10/2024 |
5.1.54 | 686 | 10/9/2024 |
5.1.53 | 8,410 | 8/28/2024 |
5.1.52 | 1,100 | 8/26/2024 |
5.1.51 | 1,010 | 8/23/2024 |
5.1.50 | 1,234 | 8/21/2024 |
5.1.49 | 1,504 | 8/19/2024 |
5.1.48 | 1,743 | 8/14/2024 |
5.1.47 | 1,412 | 8/2/2024 |
5.1.46 | 1,706 | 7/24/2024 |
5.1.45 | 1,489 | 7/10/2024 |
5.1.44 | 2,776 | 6/26/2024 |
5.1.43 | 30,409 | 6/25/2024 |
5.1.42 | 2,687 | 6/18/2024 |
5.1.41 | 991 | 6/17/2024 |
5.1.40 | 1,151 | 6/13/2024 |
5.1.39 | 813 | 6/12/2024 |
5.1.38 | 521 | 6/12/2024 |
5.1.37 | 1,899 | 5/30/2024 |
5.1.36 | 1,272 | 5/29/2024 |
5.1.35 | 2,487 | 5/16/2024 |
5.1.34 | 816 | 5/15/2024 |
5.1.33 | 1,579 | 5/7/2024 |
5.1.32 | 994 | 5/6/2024 |
5.1.31 | 1,359 | 5/2/2024 |
5.1.30 | 1,485 | 5/1/2024 |
5.1.29 | 709 | 4/30/2024 |
5.1.28 | 1,106 | 4/29/2024 |
5.1.27 | 2,569 | 4/11/2024 |
5.1.26 | 939 | 4/10/2024 |
5.1.25 | 1,940 | 3/29/2024 |
5.1.24 | 1,135 | 3/28/2024 |
5.1.23 | 2,295 | 3/15/2024 |
5.1.22 | 792 | 3/14/2024 |
5.1.21 | 848 | 3/13/2024 |
5.1.20 | 1,240 | 3/8/2024 |
5.1.19 | 732 | 3/7/2024 |
5.1.18 | 429 | 3/6/2024 |
5.1.17 | 351 | 3/5/2024 |
5.1.16 | 154 | 3/4/2024 |
5.1.15 | 3,186 | 2/28/2024 |
5.1.14 | 1,900 | 2/27/2024 |
5.1.13 | 1,115 | 2/23/2024 |
5.1.12 | 589 | 2/22/2024 |
5.1.11 | 515 | 2/21/2024 |
5.1.10 | 752 | 2/20/2024 |
5.1.9 | 1,462 | 2/14/2024 |
5.1.8 | 773 | 2/9/2024 |
5.1.7 | 734 | 2/7/2024 |
5.1.6 | 414 | 2/6/2024 |
5.1.5 | 2,450 | 2/5/2024 |
5.1.4 | 5,677 | 1/31/2024 |
5.1.3 | 403 | 1/30/2024 |
5.1.2 | 2,686 | 1/23/2024 |
5.1.1 | 969 | 1/22/2024 |
5.1.0 | 2,428 | 1/10/2024 |
5.0.39 | 5,147 | 12/13/2023 |
5.0.38 | 665 | 12/12/2023 |
5.0.37 | 3,449 | 11/23/2023 |
5.0.36 | 1,061 | 11/20/2023 |
5.0.35 | 1,156 | 11/17/2023 |
5.0.34 | 1,010 | 11/16/2023 |
5.0.33 | 2,266 | 11/7/2023 |
5.0.32 | 856 | 11/6/2023 |
5.0.31 | 1,635 | 10/31/2023 |
5.0.30 | 820 | 10/30/2023 |
5.0.29 | 1,378 | 10/25/2023 |
5.0.28 | 1,563 | 10/11/2023 |
5.0.27 | 1,504 | 9/25/2023 |
5.0.26 | 1,153 | 9/19/2023 |
5.0.25 | 722 | 9/18/2023 |
5.0.24 | 1,377 | 9/13/2023 |
5.0.23 | 792 | 9/12/2023 |
5.0.22 | 600 | 9/11/2023 |
5.0.21 | 775 | 9/11/2023 |
5.0.20 | 1,488 | 9/6/2023 |
5.0.19 | 908 | 9/5/2023 |
5.0.18 | 862 | 9/4/2023 |
5.0.17 | 1,018 | 9/1/2023 |
5.0.16 | 993 | 8/31/2023 |
5.0.15 | 742 | 8/30/2023 |
5.0.14 | 1,129 | 8/29/2023 |
5.0.13 | 1,002 | 8/28/2023 |
5.0.12 | 1,803 | 8/22/2023 |
5.0.11 | 1,188 | 8/17/2023 |
5.0.10 | 2,750 | 8/8/2023 |
5.0.9 | 837 | 8/8/2023 |
5.0.8 | 974 | 8/7/2023 |
5.0.7 | 2,454 | 7/25/2023 |
5.0.6 | 2,006 | 7/13/2023 |
5.0.5 | 354 | 7/13/2023 |
5.0.4 | 402 | 7/11/2023 |
5.0.2 | 2,243 | 12/13/2022 |
5.0.0 | 3,485 | 12/12/2022 |
4.0.26 | 433 | 12/8/2022 |
4.0.23 | 387 | 12/6/2022 |
4.0.22 | 764 | 10/26/2022 |
4.0.19 | 1,102 | 8/2/2022 |
4.0.18 | 7,704 | 6/6/2022 |
4.0.16 | 10,367 | 1/11/2022 |
4.0.15 | 2,777 | 12/16/2021 |
4.0.13 | 898 | 8/25/2021 |
4.0.12 | 5,191 | 6/17/2021 |
4.0.8 | 1,998 | 6/16/2021 |
4.0.7 | 1,381 | 6/16/2021 |
4.0.6 | 1,222 | 6/16/2021 |
4.0.5 | 1,559 | 6/15/2021 |
3.0.63 | 770 | 5/21/2021 |
3.0.59 | 899 | 4/30/2021 |
3.0.58 | 2,681 | 3/25/2021 |
3.0.57 | 737 | 1/14/2021 |
3.0.56 | 8,757 | 1/6/2021 |
3.0.55 | 5,702 | 1/6/2021 |
3.0.54 | 568 | 12/23/2020 |
3.0.53 | 1,575 | 12/16/2020 |
3.0.52 | 837 | 12/16/2020 |
3.0.51 | 1,449 | 12/14/2020 |
3.0.50 | 574 | 12/2/2020 |
3.0.49 | 570 | 12/2/2020 |
3.0.48 | 1,076 | 12/2/2020 |
3.0.47 | 5,190 | 9/13/2020 |
3.0.46 | 2,013 | 9/13/2020 |
3.0.45 | 613 | 9/11/2020 |
3.0.44 | 622 | 9/11/2020 |
3.0.43 | 1,223 | 8/21/2020 |
3.0.42 | 4,437 | 5/12/2020 |
3.0.41 | 1,979 | 5/12/2020 |
3.0.40 | 658 | 5/12/2020 |
3.0.39 | 2,189 | 5/12/2020 |
3.0.37 | 3,906 | 4/27/2020 |
3.0.36 | 3,445 | 4/16/2020 |
3.0.35 | 1,679 | 4/15/2020 |
3.0.34 | 1,365 | 4/15/2020 |
3.0.33 | 1,591 | 4/15/2020 |
3.0.32 | 3,767 | 4/10/2020 |
3.0.31 | 2,181 | 4/10/2020 |
3.0.30 | 650 | 4/10/2020 |
3.0.29 | 670 | 4/10/2020 |
3.0.28 | 683 | 4/10/2020 |
3.0.27 | 746 | 4/9/2020 |
3.0.26 | 663 | 4/9/2020 |
3.0.25 | 655 | 4/7/2020 |
3.0.23 | 659 | 4/7/2020 |
3.0.22 | 4,199 | 3/26/2020 |
3.0.21 | 1,738 | 3/26/2020 |
3.0.20 | 730 | 3/26/2020 |
3.0.19 | 1,896 | 3/25/2020 |
3.0.18 | 1,395 | 3/25/2020 |
3.0.17 | 4,523 | 3/25/2020 |
3.0.16 | 1,896 | 3/25/2020 |
3.0.15 | 1,962 | 3/24/2020 |
3.0.14 | 688 | 3/24/2020 |
3.0.13 | 633 | 3/23/2020 |
3.0.12 | 5,170 | 3/6/2020 |
3.0.11 | 699 | 3/3/2020 |
3.0.10 | 1,191 | 3/1/2020 |
3.0.9 | 2,171 | 3/1/2020 |
3.0.8 | 724 | 3/1/2020 |
3.0.7 | 3,945 | 2/17/2020 |
3.0.6 | 717 | 2/17/2020 |
3.0.5 | 2,193 | 2/10/2020 |
3.0.4 | 1,854 | 1/8/2020 |
3.0.3 | 780 | 1/7/2020 |
3.0.2 | 711 | 1/7/2020 |
3.0.1 | 2,020 | 12/29/2019 |
3.0.0 | 3,144 | 12/23/2019 |
2.1.14 | 1,606 | 11/3/2019 |
2.1.13 | 3,364 | 4/17/2019 |
2.1.12 | 2,603 | 4/17/2019 |
2.1.11 | 767 | 4/16/2019 |
2.1.10 | 1,786 | 3/15/2019 |
2.1.9 | 1,625 | 3/14/2019 |
2.1.8 | 760 | 3/8/2019 |
2.1.7 | 6,157 | 2/21/2019 |
2.1.6 | 1,627 | 11/1/2018 |
2.1.5 | 1,504 | 10/5/2018 |
2.1.4 | 6,931 | 7/5/2018 |
2.1.3 | 3,635 | 6/14/2018 |
2.1.2 | 9,700 | 5/31/2018 |
2.1.1 | 1,174 | 5/31/2018 |
2.1.0 | 1,154 | 5/31/2018 |
2.0.7 | 1,121 | 5/24/2018 |
2.0.6 | 3,607 | 5/22/2018 |
2.0.5 | 1,168 | 5/18/2018 |
2.0.4 | 5,438 | 2/15/2018 |
2.0.3 | 1,833 | 2/2/2018 |
2.0.2 | 1,669 | 2/2/2018 |
2.0.0 | 6,251 | 1/2/2018 |
1.0.38 | 1,612 | 12/15/2017 |
1.0.37 | 1,128 | 12/12/2017 |
1.0.36 | 2,091 | 11/21/2017 |
1.0.35 | 2,451 | 11/17/2017 |
1.0.34 | 4,159 | 11/13/2017 |
1.0.33 | 5,453 | 10/19/2017 |
1.0.32 | 4,662 | 10/2/2017 |
1.0.31 | 1,123 | 10/2/2017 |
1.0.30 | 8,066 | 9/28/2017 |
1.0.29 | 1,166 | 9/28/2017 |
1.0.28 | 1,619 | 9/27/2017 |
1.0.27 | 1,127 | 9/27/2017 |
1.0.26 | 1,632 | 9/26/2017 |
1.0.25 | 2,429 | 9/22/2017 |
1.0.24 | 3,890 | 9/13/2017 |
1.0.23 | 6,118 | 8/8/2017 |
1.0.22 | 3,566 | 6/27/2017 |
1.0.21 | 2,449 | 6/16/2017 |
1.0.20 | 2,096 | 6/7/2017 |
1.0.19 | 1,164 | 6/7/2017 |
1.0.18 | 1,161 | 6/1/2017 |
1.0.15 | 1,178 | 5/31/2017 |
1.0.14 | 5,663 | 5/17/2017 |
1.0.13 | 1,724 | 5/11/2017 |
1.0.12 | 1,185 | 5/11/2017 |
1.0.11 | 1,251 | 5/1/2017 |
1.0.10 | 1,166 | 4/14/2017 |
1.0.9 | 3,301 | 3/22/2017 |
1.0.8 | 1,230 | 2/16/2017 |
1.0.7 | 4,069 | 1/24/2017 |
1.0.6 | 1,205 | 1/24/2017 |
1.0.5 | 2,693 | 1/3/2017 |
1.0.4 | 1,621 | 12/9/2016 |
1.0.3 | 1,451 | 11/28/2016 |
1.0.2 | 1,177 | 11/28/2016 |