public IMensuraUnit
All checks were successful
Publish NuGet packages / publish (push) Successful in 51s

This commit is contained in:
melekhin
2026-06-15 09:00:43 +07:00
parent 998624177a
commit d49374b482
6 changed files with 11 additions and 13 deletions

View File

@@ -195,7 +195,7 @@ using System.Runtime.Serialization;
namespace QWERTYkez.Mensura.Units;
[JsonConverter(typeof(UnitJsonConverter<{typeNameZ}>))]
public readonly partial record struct {typeNameZ} : IMensuraUnit<{typeNameZ}>, IEquatable<{typeNameZ}>, IMensuraUnit
public readonly partial record struct {typeNameZ} : IEquatable<{typeNameZ}>, IMensuraUnit
{
[JsonInclude, DataMember, JsonPropertyName(""v""), Obsolete] // для JSON / EF на случай сбоев, если пробелма с _Value

View File

@@ -144,7 +144,7 @@ using System.Runtime.Serialization;
namespace QWERTYkez.Mensura.Units;
[JsonConverter(typeof(UnitJsonConverter<{typeName}>))]
public readonly partial record struct {typeName} : IMensuraUnit<{typeName}>, IEquatable<{typeName}>, IMensuraUnit
public readonly partial record struct {typeName} : IEquatable<{typeName}>, IMensuraUnit
{
[JsonInclude, DataMember, JsonPropertyName(""v""), Obsolete] // для JSON / EF на случай сбоев, если пробелма с _Value
internal double Value { get => _Value; init => _Value = value; }

View File

@@ -1,5 +1,3 @@
namespace QWERTYkez.Mensura;
internal interface IMensuraUnit { }
internal interface IMensuraUnit<U> where U : struct, IMensuraUnit, IEquatable<U> { }
public interface IMensuraUnit { }

View File

@@ -3,15 +3,15 @@
internal static class Coefficients
{
internal static double MultiplyCoefficient<T1, T2, TResult>(T1 a, T2 b, TResult r)
where T1 : struct, IMensuraUnit<T1>, IEquatable<T1>, IMensuraUnit
where T2 : struct, IMensuraUnit<T2>, IEquatable<T2>, IMensuraUnit
where TResult : struct, IMensuraUnit<TResult>, IEquatable<TResult>, IMensuraUnit
where T1 : struct, IEquatable<T1>, IMensuraUnit
where T2 : struct, IEquatable<T2>, IMensuraUnit
where TResult : struct, IEquatable<TResult>, IMensuraUnit
=> r.ToDouble() / (a.ToDouble() * b.ToDouble());
internal static double DivideCoefficient<T1, T2, TResult>(T1 a, T2 b, TResult r)
where T1 : struct, IMensuraUnit<T1>, IEquatable<T1>, IMensuraUnit
where T2 : struct, IMensuraUnit<T2>, IEquatable<T2>, IMensuraUnit
where TResult : struct, IMensuraUnit<TResult>, IEquatable<TResult>, IMensuraUnit
where T1 : struct, IEquatable<T1>, IMensuraUnit
where T2 : struct, IEquatable<T2>, IMensuraUnit
where TResult : struct, IEquatable<TResult>, IMensuraUnit
=> r.ToDouble() * b.ToDouble() / a.ToDouble();
}

View File

@@ -258,7 +258,7 @@
//namespace QWERTYkez.Mensura.Units.Pogon
//{
// [JsonConverter(typeof(PogonAAAAAAAAAAAAAAAAConverter))]
// public readonly partial record struct ZZZZZZZZZZZZZZZZ : IMensuraUnit<ZZZZZZZZZZZZZZZZ>, IEquatable<ZZZZZZZZZZZZZZZZ>, IMensuraUnit
// public readonly partial record struct ZZZZZZZZZZZZZZZZ : IEquatable<ZZZZZZZZZZZZZZZZ>, IMensuraUnit
// {
// [JsonInclude, DataMember, JsonPropertyName("v"), Obsolete] // для JSON / EF на случай сбоев, если пробелма с _Value

View File

@@ -1,7 +1,7 @@
//namespace QWERTYkez.Mensura.Units;
//[JsonConverter(typeof(UnitJsonConverter<XXXXXXXX>))]
//public readonly partial record struct XXXXXXXX : IMensuraUnit<XXXXXXXX>, IEquatable<XXXXXXXX>, IMensuraUnit
//public readonly partial record struct XXXXXXXX : IEquatable<XXXXXXXX>, IMensuraUnit
//{
// [JsonInclude, DataMember, JsonPropertyName("v"), Obsolete] // для JSON / EF на случай сбоев, если пробелма с _Value
// internal double Value { get => _Value; init => _Value = value; }