PxtlCa.Collections
0.2.2
dotnet add package PxtlCa.Collections --version 0.2.2
NuGet\Install-Package PxtlCa.Collections -Version 0.2.2
<PackageReference Include="PxtlCa.Collections" Version="0.2.2" />
<PackageVersion Include="PxtlCa.Collections" Version="0.2.2" />
<PackageReference Include="PxtlCa.Collections" />
paket add PxtlCa.Collections --version 0.2.2
#r "nuget: PxtlCa.Collections, 0.2.2"
#:package PxtlCa.Collections@0.2.2
#addin nuget:?package=PxtlCa.Collections&version=0.2.2
#tool nuget:?package=PxtlCa.Collections&version=0.2.2
PxtlCa.Collections
This is an old collections library made by Martin Zarate (AKA Pxtl) in 2008.
Provides customizable Dictionaries and Lists.
VirtualList, VirtualDictionary
These are simple implementations of IList<T> and IDictionary<TKey, TValue>
that provide a wrapper around an existing IList or IDictionary (defaulting to
the System.Collections.Generics implementations) and implement every operation
with a virtual modifier so that they can be conveniently subclassed and
overridden. This makes it convenient to implement custom collections.
FilteredDictionary
FilteredDictionary is IDictionary<TKey, TValue> that allows one or more
"filters", or "mixins". Each one changes the dictionary's functionality, for
example by firing events or by providing default value logic for the dictionary
so that it will never throw a KeyNotFoundException. Available filters are
provided in PxtlCa.Collections.DictionaryFilters. For convenience, pre-built
FilteredDictionaries exist in the form of AutoConstructingDictionary,
DefaultingDictionary, and ChangeNotingDictionary, which each of which are a
subclass of FilteredDictionary with a Filter baked-in.
PxtlCa.Collections.Proxies
A second project PxtlCa.Collections.Proxies. It is a set of pseudo-pointer
generics in C#. I don't really remember what I was going for with these. This
may be mostly an artifact of .NET 2.0 since Expression objects have replaced
the need for that generally.
AI Disclosure
While this code is primarily hand-made, a Qwen 3.5 AI was used to modernize the codebase a bit and add the test classes.
Contributions
See CONTRIB.md.
License
See LICENSE.
| Product | Versions Compatible and additional computed target framework versions. |
|---|---|
| .NET | net5.0 was computed. net5.0-windows was computed. net6.0 was computed. net6.0-android was computed. net6.0-ios was computed. net6.0-maccatalyst was computed. net6.0-macos was computed. net6.0-tvos was computed. net6.0-windows was computed. net7.0 was computed. net7.0-android was computed. net7.0-ios was computed. net7.0-maccatalyst was computed. net7.0-macos was computed. net7.0-tvos was computed. net7.0-windows was computed. net8.0 was computed. 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 was computed. net9.0-android was computed. net9.0-browser was computed. net9.0-ios was computed. net9.0-maccatalyst was computed. net9.0-macos was computed. net9.0-tvos was computed. net9.0-windows was computed. net10.0 was computed. net10.0-android was computed. net10.0-browser was computed. net10.0-ios was computed. net10.0-maccatalyst was computed. net10.0-macos was computed. net10.0-tvos was computed. net10.0-windows was computed. |
| .NET Core | netcoreapp2.0 was computed. netcoreapp2.1 was computed. netcoreapp2.2 was computed. netcoreapp3.0 was computed. netcoreapp3.1 was computed. |
| .NET Standard | netstandard2.0 is compatible. netstandard2.1 was computed. |
| .NET Framework | net461 was computed. net462 was computed. net463 was computed. net47 was computed. net471 was computed. net472 was computed. net48 was computed. net481 was computed. |
| MonoAndroid | monoandroid was computed. |
| MonoMac | monomac was computed. |
| MonoTouch | monotouch was computed. |
| Tizen | tizen40 was computed. tizen60 was computed. |
| Xamarin.iOS | xamarinios was computed. |
| Xamarin.Mac | xamarinmac was computed. |
| Xamarin.TVOS | xamarintvos was computed. |
| Xamarin.WatchOS | xamarinwatchos was computed. |
-
.NETStandard 2.0
- Microsoft.Bcl.HashCode (>= 6.0.0)
- System.Collections (>= 4.3.0)
- System.Collections.Immutable (>= 10.0.9)
- System.Linq (>= 4.3.0)
NuGet packages
This package is not used by any NuGet packages.
GitHub repositories
This package is not used by any popular GitHub repositories.