StoneKit.Core.Structs.TypePair 2024.1.1.261673

There is a newer version of this package available.
See the version list below for details.
dotnet add package StoneKit.Core.Structs.TypePair --version 2024.1.1.261673                
NuGet\Install-Package StoneKit.Core.Structs.TypePair -Version 2024.1.1.261673                
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.261673" />                
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.261673                
#r "nuget: StoneKit.Core.Structs.TypePair, 2024.1.1.261673"                
#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.261673

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

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 87 10/5/2024
2024.1.1.305385 85 8/5/2024
2024.1.1.268769 94 7/9/2024
2024.1.1.261673 91 7/4/2024
2024.1.1.261665 86 7/4/2024
2024.1.1.261630 106 7/4/2024
2024.1.1.260673 100 7/3/2024
2024.1.1.260489 95 7/3/2024
2024.1.1.260485 90 7/3/2024
1.24.703.180757 194 7/3/2024
1.24.703.164604 240 7/3/2024
1.24.703.121209 483 7/3/2024
1.24.626.192709 112 6/26/2024
1.24.612.904 125 6/11/2024
1.24.611.233127 95 6/11/2024
1.24.611.232752 89 6/11/2024
1.24.603.121931 79 6/3/2024
1.24.317.170729 109 3/17/2024
1.24.317.170542 83 3/17/2024
1.24.317.164648 110 3/17/2024
1.24.317.161354 116 3/17/2024
1.24.121.184215 94 1/21/2024
1.24.121.182728 94 1/21/2024
1.23.1205.143419 182 12/5/2023
1.23.1205.132044 129 12/5/2023
1.23.1205.121845 131 12/5/2023
1.23.1205.121044 130 12/5/2023
1.23.1204.161651 123 12/4/2023
1.23.1204.155354 140 12/4/2023
1.23.1204.145217 128 12/4/2023
1.23.1201.144009 149 12/1/2023
1.23.1201.140752 126 12/1/2023
1.23.1201.135106 109 12/1/2023
1.23.1201.111055 132 12/1/2023
1.23.1201.110105 774 12/1/2023