Rop.IKeyValue 1.0.3

dotnet add package Rop.IKeyValue --version 1.0.3
NuGet\Install-Package Rop.IKeyValue -Version 1.0.3
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.3" />
For projects that support PackageReference, copy this XML node into the project file to reference the package.
paket add Rop.IKeyValue --version 1.0.3
#r "nuget: Rop.IKeyValue, 1.0.3"
#r directive can be used in F# Interactive and Polyglot Notebooks. 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.3

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



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


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;


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 Compatible and additional computed target framework versions.
.NET net5.0 was computed.  net5.0-windows was computed.  net6.0 is compatible.  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. 
.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 is compatible. 
.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. 
Compatible target framework(s)
Included target framework(s) (in package)
Learn more about Target Frameworks and .NET Standard.
  • .NETStandard 2.0

    • No dependencies.
  • .NETStandard 2.1

    • No dependencies.
  • net6.0

    • No dependencies.

NuGet packages (5)

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

Package Downloads

Create KeyValue ListBox and ComboBox


Helper classes for GDI+ Colors and KeyValueControls


Create compatible Items form ListBox and ComboBox


Helper classes for Winforms 7


Helper classes for Winforms 7

GitHub repositories

This package is not used by any popular GitHub repositories.

Version Downloads Last updated
1.0.3 137 9/24/2023
1.0.2 962 10/7/2022
1.0.1 3,086 2/6/2022