Rop.IKeyValue 1.0.2

.NET 6.0 .NET Standard 2.0
dotnet add package Rop.IKeyValue --version 1.0.2
NuGet\Install-Package Rop.IKeyValue -Version 1.0.2
This command is intended to be used within the Package Manager Console in Visual Studio, as it uses the NuGet module's version of Install-Package.
<PackageReference Include="Rop.IKeyValue" Version="1.0.2" />
For projects that support PackageReference, copy this XML node into the project file to reference the package.
paket add Rop.IKeyValue --version 1.0.2
#r "nuget: Rop.IKeyValue, 1.0.2"
#r directive can be used in F# Interactive, C# scripting and .NET Interactive. Copy this into the interactive tool or source code of the script to reference the package.
// Install Rop.IKeyValue as a Cake Addin
#addin nuget:?package=Rop.IKeyValue&version=1.0.2

// Install Rop.IKeyValue as a Cake Tool
#tool nuget:?package=Rop.IKeyValue&version=1.0.2

Rop.IKeyValue

Features

Rop.IKeyValue is a group of interfaces and helpers to work with classes with a key property

Interfaces

Interfaces to decorate classes

    /// Interface for classes with a string key
    public interface IKey
    {
        string GetKey();
    }
    /// Interface for classes with a main value property
    public interface IValue
    {
        string GetValue();
    }
    /// Interface for classes with a key and a main value property
    public interface IKeyValue : IKey,IValue;
    /// Interface for classes with a int key
    public interface IIntKey : IKey
    {
        int GetIntKey();
    }
    /// Interface for classes with a int key and a main value property
    public interface IIntKeyValue : IIntKey,IValue;

Dictionaries

Dictionary for IKey interfaces

/// String dictionary CASE aware
public class DictionaryNoCase<T>;
/// Dictionary of IKey items
public class KeyValueDic<T>;
/// Dictionary of IIntKey items
public class IntKeyValueDic<T>;

Foo clases

Minimal implementation of IKey interfaces

/// Simplest IIntKeyValue implementation
public class FooIntKeyValue : IIntKeyValue;
/// Simples IKeyValue implementation
public class FooKeyValue : IKeyValue;
/// Simplest IKeyValue record implementation
public record ImmutableKeyValue : IKeyValue;
/// Simples IIntKeyValue record implementation
public record ImmutableIntKeyValue : IIntKeyValue;

KeyValue helpers

Helper class relative to IKey interfaces

/// Convert enumerable of IKeys items to dictionary
public static KeyValueDic<T> ToKeyValueDic<T>(this IEnumerable<T> value);
/// Convert dictionary of IKeys items to KeyValueDictionary
public static KeyValueDic<T> ToKeyValueDic<T>(this IDictionary<string, T> value);
/// Convert a tuple in a FooKeyValue
public static FooKeyValue ToFooKeyValue(this (string, string) value);
public static FooKeyValue ToFooKeyValue(this (int, string) value);
/// Convert a tuple in a IntFooKeyValue
public static FooIntKeyValue ToFooIntKeyValue(this (int, string) value);
/// Convert an enumeration of tuples in a enumeration of FooKeyValue
public static IEnumerable<FooKeyValue> ToFooKeyValues(this IEnumerable<(string, string)> values);
/// Convert a enumeration of tuples in a enumeration of FooIntKeyValue
public static IEnumerable<FooIntKeyValue> ToFooIntKeyValues(this IEnumerable<(int, string)> values);
/// Convert a IKeyValue to a FooKeyValue;
public static FooKeyValue ToFooKeyValue(this IKeyValue kv);
/// Convert a IIntKeyValue to a FooKeyValue
public static FooKeyValue ToFooKeyValue(this IIntKeyValue kv);
/// Convert a IIntKeyValue to a FooIntKeyValue
public static FooIntKeyValue ToFooIntKeyValue(this IIntKeyValue kv);
/// Convert a IKeyValue to a ImmutableKeyValue
public static ImmutableKeyValue ToImmutable(this IKeyValue kv);
/// Convert a IIntKeyValue to a ImmutableIntKeyValue
public static ImmutableIntKeyValue ToImmutable(this IIntKeyValue kv);
/// Compares for equality two IKey classes to same key (Case insensitive)
public static bool EqualsKey(this IKey a, IKey b);
/// Compares for equality two IIntKey classes to same key
public static bool EqualsKey(this IIntKey a, IIntKey b);

(C)2022 Ramón Ordiales Plaza

Product Versions
.NET net5.0 net5.0-windows net6.0 net6.0-android net6.0-ios net6.0-maccatalyst net6.0-macos net6.0-tvos net6.0-windows net7.0 net7.0-android net7.0-ios net7.0-maccatalyst net7.0-macos net7.0-tvos net7.0-windows
.NET Core netcoreapp2.0 netcoreapp2.1 netcoreapp2.2 netcoreapp3.0 netcoreapp3.1
.NET Standard netstandard2.0 netstandard2.1
.NET Framework net461 net462 net463 net47 net471 net472 net48 net481
MonoAndroid monoandroid
MonoMac monomac
MonoTouch monotouch
Tizen tizen40 tizen60
Xamarin.iOS xamarinios
Xamarin.Mac xamarinmac
Xamarin.TVOS xamarintvos
Xamarin.WatchOS xamarinwatchos
Compatible target framework(s)
Additional computed target framework(s)
Learn more about Target Frameworks and .NET Standard.
  • .NETStandard 2.0

    • No dependencies.
  • .NETStandard 2.1

    • No dependencies.
  • net6.0

    • No dependencies.

NuGet packages (3)

Showing the top 3 NuGet packages that depend on Rop.IKeyValue:

Package Downloads
Rop.Winforms.KeyValueListComboBox

Create KeyValue ListBox and ComboBox

Rop.Winforms.ListComboBox

Create compatible Items form ListBox and ComboBox

Rop.Winforms.ColorSets

Helper classes for GDI+ Colors and KeyValueControls

GitHub repositories

This package is not used by any popular GitHub repositories.

Version Downloads Last updated
1.0.2 371 10/7/2022
1.0.1 1,247 2/6/2022