StoneKit.Core.Structs.TypePair 1.23.1205.121044

There is a newer version of this package available.
See the version list below for details.
dotnet add package StoneKit.Core.Structs.TypePair --version 1.23.1205.121044                
NuGet\Install-Package StoneKit.Core.Structs.TypePair -Version 1.23.1205.121044                
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="1.23.1205.121044" />                
For projects that support PackageReference, copy this XML node into the project file to reference the package.
paket add StoneKit.Core.Structs.TypePair --version 1.23.1205.121044                
#r "nuget: StoneKit.Core.Structs.TypePair, 1.23.1205.121044"                
#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=1.23.1205.121044

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

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:

nuget install 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 75 10/5/2024
2024.1.1.305385 81 8/5/2024
2024.1.1.268769 90 7/9/2024
2024.1.1.261673 87 7/4/2024
2024.1.1.261665 82 7/4/2024
2024.1.1.261630 102 7/4/2024
2024.1.1.260673 96 7/3/2024
2024.1.1.260489 91 7/3/2024
2024.1.1.260485 87 7/3/2024
1.24.703.180757 190 7/3/2024
1.24.703.164604 236 7/3/2024
1.24.703.121209 479 7/3/2024
1.24.626.192709 108 6/26/2024
1.24.612.904 121 6/11/2024
1.24.611.233127 91 6/11/2024
1.24.611.232752 85 6/11/2024
1.24.603.121931 75 6/3/2024
1.24.317.170729 105 3/17/2024
1.24.317.170542 80 3/17/2024
1.24.317.164648 107 3/17/2024
1.24.317.161354 112 3/17/2024
1.24.121.184215 90 1/21/2024
1.24.121.182728 89 1/21/2024
1.23.1205.143419 177 12/5/2023
1.23.1205.132044 125 12/5/2023
1.23.1205.121845 127 12/5/2023
1.23.1205.121044 126 12/5/2023
1.23.1204.161651 119 12/4/2023
1.23.1204.155354 137 12/4/2023
1.23.1204.145217 123 12/4/2023
1.23.1201.144009 146 12/1/2023
1.23.1201.140752 122 12/1/2023
1.23.1201.135106 106 12/1/2023
1.23.1201.111055 129 12/1/2023
1.23.1201.110105 768 12/1/2023