StoneKit.Core.Structs.TypePair 1.24.317.170729

dotnet add package StoneKit.Core.Structs.TypePair --version 1.24.317.170729
NuGet\Install-Package StoneKit.Core.Structs.TypePair -Version 1.24.317.170729
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.317.170729" />
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.317.170729
#r "nuget: StoneKit.Core.Structs.TypePair, 1.24.317.170729"
#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.317.170729

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

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

Package Description

GitHub repositories

This package is not used by any popular GitHub repositories.

Version Downloads Last updated
1.24.317.170729 84 3/17/2024
1.24.317.170542 71 3/17/2024
1.24.317.164648 80 3/17/2024
1.24.317.161354 91 3/17/2024
1.24.121.184215 77 1/21/2024
1.24.121.182728 74 1/21/2024
1.23.1205.143419 152 12/5/2023
1.23.1205.132044 101 12/5/2023
1.23.1205.121845 105 12/5/2023
1.23.1205.121044 104 12/5/2023
1.23.1204.161651 97 12/4/2023
1.23.1204.155354 110 12/4/2023
1.23.1204.145217 102 12/4/2023
1.23.1201.144009 111 12/1/2023
1.23.1201.140752 97 12/1/2023
1.23.1201.135106 83 12/1/2023
1.23.1201.111055 103 12/1/2023
1.23.1201.110105 150 12/1/2023