PxtlCa.Collections
0.2.0
See the version list below for details.
dotnet add package PxtlCa.Collections --version 0.2.0
NuGet\Install-Package PxtlCa.Collections -Version 0.2.0
<PackageReference Include="PxtlCa.Collections" Version="0.2.0" />
<PackageVersion Include="PxtlCa.Collections" Version="0.2.0" />
<PackageReference Include="PxtlCa.Collections" />
paket add PxtlCa.Collections --version 0.2.0
#r "nuget: PxtlCa.Collections, 0.2.0"
#:package PxtlCa.Collections@0.2.0
#addin nuget:?package=PxtlCa.Collections&version=0.2.0
#tool nuget:?package=PxtlCa.Collections&version=0.2.0
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.ObjectProxies
A second project PxtlCa.ObjectProxies is included in the source but not built
for the nuget package. 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
- System.Collections (>= 4.3.0)
- 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.