Prgfx.ObjectUtils
0.1.0
dotnet add package Prgfx.ObjectUtils --version 0.1.0
NuGet\Install-Package Prgfx.ObjectUtils -Version 0.1.0
<PackageReference Include="Prgfx.ObjectUtils" Version="0.1.0" />
<PackageVersion Include="Prgfx.ObjectUtils" Version="0.1.0" />
<PackageReference Include="Prgfx.ObjectUtils" />
paket add Prgfx.ObjectUtils --version 0.1.0
#r "nuget: Prgfx.ObjectUtils, 0.1.0"
#:package Prgfx.ObjectUtils@0.1.0
#addin nuget:?package=Prgfx.ObjectUtils&version=0.1.0
#tool nuget:?package=Prgfx.ObjectUtils&version=0.1.0
Prgfx.ObjectUtils
Ports some functionality from Neos Flow utilities to C#.
ObjectAccess
(see Neos.Utility.ObjectHandling) Utility to access properties of an object using getters, offset or (public) properties (or fields) as fit.
// get a property if available or throw Prgfx.ObjectUtils.PropertyNotAccessibleException
// will check getters like GetPropertyName, HasPropertyName and IsPropertyName if necessary
Prgfx.ObjectUtils.ObjectAccess.GetProperty(subject, "propertyName");
// access non-public properties by forcing access
Prgfx.ObjectUtils.ObjectAccess.GetProperty(subject, "protectedProperty", true);
// get nested values by path
// parts of a path are simply . separated and can access different kinds of data structures
Prgfx.ObjectUtils.ObjectAccess.ObjectPropertyByPath(subject, "list.2.dict.key");
PositionalCollectionSorter
(see Neos.Utility.Arrays) Utility to primarily get the key of an enumerable data set ordered by a position-string:
start (<weight>)
end (<weight>)
before <key> (<weight>)
after <key> (<weight>)
<numerical-order>
Here "weight" is the priority of items within a grouping, so start
and after
are sorted by descending weight, end
and before
by ascending weight.
The position-string will be determined by a property path (accessed with ObjectAccess
), given as second argument when constructing the sorter and can thus be a nested property.
var subject = new Dictionary<string, object>{
{ "key1", new { position = "start" } },
{ "key2", new { position = "before key1" } },
{ "key3", new { position = "after key2" } }
};
var sorter = new PositionalCollectionSorter(subject, "position");
sorter.GetSortedKeys(); // {"key2", "key3", "key1"}
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.2 is compatible. netcoreapp3.0 was computed. netcoreapp3.1 was computed. |
-
.NETCoreApp 2.2
- No dependencies.
NuGet packages
This package is not used by any NuGet packages.
GitHub repositories
This package is not used by any popular GitHub repositories.
Version | Downloads | Last Updated |
---|---|---|
0.1.0 | 698 | 3/3/2019 |