StoneKit.Core.Structs.TypePair 1.24.626.192709

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.24.626.192709                
NuGet\Install-Package StoneKit.Core.Structs.TypePair -Version 1.24.626.192709                
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.24.626.192709" />                
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.24.626.192709                
#r "nuget: StoneKit.Core.Structs.TypePair, 1.24.626.192709"                
#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.24.626.192709

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

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.305385 39 8/5/2024
2024.1.1.268769 79 7/9/2024
2024.1.1.261673 73 7/4/2024
2024.1.1.261665 69 7/4/2024
2024.1.1.261630 88 7/4/2024
2024.1.1.260673 80 7/3/2024
2024.1.1.260489 73 7/3/2024
2024.1.1.260485 72 7/3/2024
1.24.703.180757 129 7/3/2024
1.24.703.164604 144 7/3/2024
1.24.703.121209 304 7/3/2024
1.24.626.192709 89 6/26/2024
1.24.612.904 72 6/11/2024
1.24.611.233127 74 6/11/2024
1.24.611.232752 67 6/11/2024
1.24.603.121931 62 6/3/2024
1.24.317.170729 91 3/17/2024
1.24.317.170542 78 3/17/2024
1.24.317.164648 86 3/17/2024
1.24.317.161354 98 3/17/2024
1.24.121.184215 88 1/21/2024
1.24.121.182728 85 1/21/2024
1.23.1205.143419 158 12/5/2023
1.23.1205.132044 108 12/5/2023
1.23.1205.121845 111 12/5/2023
1.23.1205.121044 110 12/5/2023
1.23.1204.161651 103 12/4/2023
1.23.1204.155354 117 12/4/2023
1.23.1204.145217 108 12/4/2023
1.23.1201.144009 117 12/1/2023
1.23.1201.140752 104 12/1/2023
1.23.1201.135106 91 12/1/2023
1.23.1201.111055 110 12/1/2023
1.23.1201.110105 522 12/1/2023