StoneKit.Core.Structs.TypePair 2024.1.1.391401

dotnet add package StoneKit.Core.Structs.TypePair --version 2024.1.1.391401                
NuGet\Install-Package StoneKit.Core.Structs.TypePair -Version 2024.1.1.391401                
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="StoneKit.Core.Structs.TypePair" Version="2024.1.1.391401" />                
For projects that support PackageReference, copy this XML node into the project file to reference the package.
paket add StoneKit.Core.Structs.TypePair --version 2024.1.1.391401                
#r "nuget: StoneKit.Core.Structs.TypePair, 2024.1.1.391401"                
#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 StoneKit.Core.Structs.TypePair as a Cake Addin
#addin nuget:?package=StoneKit.Core.Structs.TypePair&version=2024.1.1.391401

// Install StoneKit.Core.Structs.TypePair as a Cake Tool
#tool nuget:?package=StoneKit.Core.Structs.TypePair&version=2024.1.1.391401                

TypePair Struct

The TypePair struct represents a pair of types, commonly used for object mapping and type conversion. It includes various properties and methods to facilitate type-related operations.

Installation

You can install by using NuGet:

PM> Install-Package StoneKit.Core.Structs.TypePair

Usage

Creating TypePairs

Using Constructor
var typePair = new TypePair(typeof(SourceType), typeof(TargetType));
Using Generic Method
var typePair = TypePair.Create<SourceType, TargetType>();

Checking Type Characteristics

// Check if the types are both enums
bool isEnumTypes = typePair.IsEnumTypes;

// Check if the types are both enumerable
bool isEnumerableTypes = typePair.IsEnumerableTypes;

// Check if the source type is nullable while the target type is not
bool isNullableToNotNullable = typePair.IsNullableToNotNullable;

// Check if the types are deep cloneable
bool isDeepCloneable = typePair.IsDeepCloneable;

Checking for Type Conversion

// Check if a TypeConverter is available for type conversion
bool hasTypeConverter = typePair.HasTypeConverter();

Equality Comparison

// Check if two TypePairs are equal
bool areEqual = typePair1.Equals(typePair2);

Examples

// Example: Creating TypePairs
var typePair1 = new TypePair(typeof(int), typeof(string));
var typePair2 = TypePair.Create<double, decimal>();

// Example: Checking Type Characteristics
bool isEnumTypes = typePair1.IsEnumTypes;
bool isDeepCloneable = typePair2.IsDeepCloneable;

// Example: Checking for Type Conversion
bool hasTypeConverter = typePair1.HasTypeConverter();

// Example: Equality Comparison
bool areEqual = typePair1.Equals(typePair2);

License

This project is licensed under the MIT License.

Product Compatible and additional computed target framework versions.
.NET net8.0 is compatible.  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. 
Compatible target framework(s)
Included target framework(s) (in package)
Learn more about Target Frameworks and .NET Standard.

NuGet packages (1)

Showing the top 1 NuGet packages that depend on StoneKit.Core.Structs.TypePair:

Package Downloads
StoneKit.TransverseMapper

Transverse - Fastest and quickest object mapper for dotnet

GitHub repositories

This package is not used by any popular GitHub repositories.

Version Downloads Last updated
2024.1.1.391401 96 10/5/2024
2024.1.1.305385 92 8/5/2024
2024.1.1.268769 101 7/9/2024
2024.1.1.261673 98 7/4/2024
2024.1.1.261665 95 7/4/2024
2024.1.1.261630 113 7/4/2024
2024.1.1.260673 109 7/3/2024
2024.1.1.260489 106 7/3/2024
2024.1.1.260485 100 7/3/2024
1.24.703.180757 202 7/3/2024
1.24.703.164604 250 7/3/2024
1.24.703.121209 492 7/3/2024
1.24.626.192709 119 6/26/2024
1.24.612.904 135 6/11/2024
1.24.611.233127 104 6/11/2024
1.24.611.232752 95 6/11/2024
1.24.603.121931 87 6/3/2024
1.24.317.170729 114 3/17/2024
1.24.317.170542 88 3/17/2024
1.24.317.164648 118 3/17/2024
1.24.317.161354 122 3/17/2024
1.24.121.184215 99 1/21/2024
1.24.121.182728 99 1/21/2024
1.23.1205.143419 187 12/5/2023
1.23.1205.132044 134 12/5/2023
1.23.1205.121845 136 12/5/2023
1.23.1205.121044 136 12/5/2023
1.23.1204.161651 128 12/4/2023
1.23.1204.155354 146 12/4/2023
1.23.1204.145217 136 12/4/2023
1.23.1201.144009 154 12/1/2023
1.23.1201.140752 132 12/1/2023
1.23.1201.135106 114 12/1/2023
1.23.1201.111055 138 12/1/2023
1.23.1201.110105 781 12/1/2023