```markdown
<Project Sdk="Microsoft.NET.Sdk">
<PropertyGroup>
<OutputType>Exe</OutputType>
<TargetFramework>net6.0</TargetFramework>
<ImplicitUsings>enable</ImplicitUsings>
<Nullable>enable</Nullable>
<LangVersion>preview</LangVersion>
</PropertyGroup>
</Project>
using System;
using System.Collections.Generic;
using System.Globalization;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace GenericMath
{
public interface IParseable
{
static T Parse(string s, IFormatProvider? provider);
static bool TryParse([NotNullWhen(true)] string? s, IFormatProvider? provider, out T result);
}
public static class Numeral
{
public static Numeral Create(char value)
{
return new Numeral(value);
}
public static Numeral Parse(string s, IFormatProvider? provider)
{
return new Numeral(s);
}
public static bool TryParse([NotNullWhen(true)] string? s, IFormatProvider? provider, out Numeral result)
{
result = new Numeral(s!);
return true;
}
private readonly string _value;
private Numeral(string s)
{
_value = s;
}
private Numeral(char value)
{
_value = value.ToString();
}
public override string ToString() => _value;
}
public static class Extensions
{
public static T Sum<T>(this IEnumerable<T> source)
where T : IParseable
{
T sum = default;
foreach (T v in source)
{
sum += v;
}
return sum;
}
}
}
public static class Name
{
private readonly string _value;
private Name(string s)
{
_value = s;
}
public static Name Parse(string s, IFormatProvider? provider) => new Name(s);
public static bool TryParse([NotNullWhen(true)] string? s, IFormatProvider? provider, out Name result)
{
result = new Name(s!);
return true;
}
public override string ToString() => _value;
}
// public interface IMishMash
// where TSelf : IParseable
// {
// static abstract TSelf Parse(string s);
// static abstract TSelf Add(string s);
// }
using System;
using System.Collections.Generic;
using System.Globalization;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace GenericMath
{
public interface IParseable
{
static T Parse(string s, IFormatProvider? provider);
static bool TryParse([NotNullWhen(true)] string? s, IFormatProvider? provider, out T result);
}
public static class Numeral
{
public static Numeral Create(char value)
{
return new Numeral(value);
}
public static Numeral Parse(string s, IFormatProvider? provider)
{
return new Numeral(s);
}
public static bool TryParse([NotNullWhen(true)] string? s, IFormatProvider? provider, out Numeral result)
{
result = new Numeral(s!);
return true;
}
private readonly string _value;
private Numeral(string s)
{
_value = s;
}
private Numeral(char value)
{
_value = value.ToString();
}
public override string ToString() => _value;
}
public static class Extensions
{
public static T Sum<T>(this IEnumerable<T> source)
where T : IParseable
{
T sum = default;
foreach (T v in source)
{
sum += v;
}
return sum;
}
}
}
using System;
using System.Collections.Generic;
using System.Globalization;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace GenericMath
{
public interface IParseable
{
static T Parse(string s, IFormatProvider? provider);
static bool TryParse([NotNullWhen(true)] string? s, IFormatProvider? provider, out T result);
}
public static class Numeral
{
public static Numeral Create(char value)
{
return new Numeral(value);
}
public static Numeral Parse(string s, IFormatProvider? provider)
{
return new Numeral(s);
}
public static bool TryParse([NotNullWhen(true)] string? s, IFormatProvider? provider, out Numeral result)
{
result = new Numeral(s!);
return true;
}
private readonly string _value;
private Numeral(string s)
{
_value = s;
}
private Numeral(char value)
{
_value = value.ToString();
}
public override string ToString() => _value;
}
public static class Extensions
{
public static T Sum<T>(this IEnumerable<T> source)
where T : IParseable
{
T sum = default;
foreach (T v in source)
{
sum += v;
}
return sum;
}
}
}
using System;
using System.Collections.Generic;
using System.Globalization;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace GenericMath
{
public interface IParseable
{
static T Parse(string s, IFormatProvider? provider);
static bool TryParse([NotNullWhen(true)] string? s, IFormatProvider? provider, out T result);
}
public static class Numeral
{
public static Numeral Create(char value)
{
return new Numeral(value);
}
public static Numeral Parse(string s, IFormatProvider? provider)
{
return new Numeral(s);
}
public static bool TryParse([NotNullWhen(true)] string? s, IFormatProvider? provider, out Numeral result)
{
result = new Numeral(s!);
return true;
}
private readonly string _value;
private Numeral(string s)
{
_value = s;
}
private Numeral(char value)
{
_value = value.ToString();
}
public override string ToString() => _value;
}
public static class Extensions
{
public static T Sum<T>(this IEnumerable<T> source)
where T : IParseable
{
T sum = default;
foreach (T v in source)
{
sum += v;
}
return sum;
}
}
}
using System;
using System.Collections.Generic;
using System.Globalization;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace GenericMath
{
public interface IParseable
{
static T Parse(string s, IFormatProvider? provider);
static bool TryParse([NotNullWhen(true)] string? s, IFormatProvider? provider, out T result);
}
public static class Numeral
{
public static Numeral Create(char value)
{
return new Numeral(value);
}
public static Numeral Parse(string s, IFormatProvider? provider)
{
return new Numeral(s);
}
public static bool TryParse([NotNullWhen(true)] string? s, IFormatProvider? provider, out Numeral result)
{
result = new Numeral(s!);
return true;
}
private readonly string _value;
private Numeral(string s)
{
_value = s;
}
private Numeral(char value)
{
_value = value.ToString();
}
public override string ToString() => _value;
}
public static class Extensions
{
public static T Sum<T>(this IEnumerable<T> source)
where T : IParseable
{
T sum = default;
foreach (T v in source)
{
sum += v;
}
return sum;
}
}
}
using System;
using System.Collections.Generic;
using System.Globalization;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace GenericMath
{
public interface IParseable
{
static T Parse(string s, IFormatProvider? provider);
static bool TryParse([NotNullWhen(true)] string? s, IFormatProvider? provider, out T result);
}
public static class Numeral
{
public static Numeral Create(char value)
{
return new Numeral(value);
}
public static Numeral Parse(string s, IFormatProvider? provider)
{
return new Numeral(s);
}
public static bool TryParse([NotNullWhen(true)] string? s, IFormatProvider? provider, out Numeral result)
{
result = new Numeral(s!);
return true;
}
private readonly string _value;
private Numeral(string s)
{
_value = s;
}
private Numeral(char value)
{
_value = value.ToString();
}
public override string ToString() => _value;
}
public static class Extensions
{
public static T Sum<T>(this IEnumerable<T> source)
where T : IParseable
{
T sum = default;
foreach (T v in source)
{
sum += v;
}
return sum;
}
}
}
using System;
using System.Collections.Generic;
using System.Globalization;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace GenericMath
{
public interface IParseable
{
static T Parse(string s, IFormatProvider? provider);
static bool TryParse([NotNullWhen(true)] string? s, IFormatProvider? provider, out T result);
}
public static class Numeral
{
public static Numeral Create(char value)
{
return new Numeral(value);
}
public static Numeral Parse(string s, IFormatProvider? provider)
{
return new Numeral(s);
}
public static bool TryParse([NotNullWhen(true)] string? s, IFormatProvider? provider, out Numeral result)
{
result = new Numeral(s!);
return true;
}
private readonly string _value;
private Numeral(string s)
{
_value = s;
}
private Numeral(char value)
{
_value = value.ToString();
}
public override string ToString() => _value;
}
public static class Extensions
{
public static T Sum<T>(this IEnumerable<T> source)
where T : IParseable
{
T sum = default;
foreach (T v in source)
{
sum += v;
}
return sum;
}
}
}
using System;
using System.Collections.Generic;
using System.Globalization;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace GenericMath
{
public interface IParseable
{
static T Parse(string s, IFormatProvider? provider);
static bool TryParse([NotNullWhen(true)] string? s, IFormatProvider? provider, out T result);
}
public static class Numeral
{
public static Numeral Create(char value)
{
return new Numeral(value);
}
public static Numeral Parse(string s, IFormatProvider? provider)
{
return new Numeral(s);
}
public static bool TryParse([NotNullWhen(true)] string? s, IFormatProvider? provider, out Numeral result)
{
result = new Numeral(s!);
return true;
}
private readonly string _value;
private Numeral(string s)
{
_value = s;
}
private Numeral(char value)
{
_value = value.ToString();
}
public override string ToString() => _value;
}
public static class Extensions
{
public static T Sum<T>(this IEnumerable<T> source)
where T : IParseable
{
T sum = default;
foreach (T v in source)
{
sum += v;
}
return sum;
}
}
}
using System;
using System.Collections.Generic;
using System.Globalization;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace GenericMath
{
public interface IParseable
{
static T Parse(string s, IFormatProvider? provider);
static bool TryParse([NotNullWhen(true)] string? s, IFormatProvider? provider, out T result);
}
public static class Numeral
{
public static Numeral Create(char value)
{
return new Numeral(value);
}
public static Numeral Parse(string s, IFormatProvider? provider)
{
return new Numeral(s);
}
public static bool TryParse([NotNullWhen(true)] string? s, IFormatProvider? provider, out Numeral result)
{
result = new Numeral(s!);
return true;
}
private readonly string _value;
private Numeral(string s)
{
_value = s;
}
private Numeral(char value)
{
_value = value.ToString();
}
public override string ToString() => _value;
}
public static class Extensions
{
public static T Sum<T>(this IEnumerable<T> source)
where T : IParseable
{
T sum = default;
foreach (T v in source)
{
sum += v;
}
return sum;
}
}
}
using System;
using System.Collections.Generic;
using System.Globalization;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace GenericMath
{
public interface IParseable
{
static T Parse(string s, IFormatProvider? provider);
static bool TryParse([NotNullWhen(true)] string? s, IFormatProvider? provider, out T result);
}
public static class Numeral
{
public static Numeral Create(char value)
{
return new Numeral(value);
## Top-Level Directory Explanations
<a class='local-link directory-link' data-ref="obj/" href="#obj/">obj/</a> - Temporary directory that stores compiled intermediate files during the build process.
<a class='local-link directory-link' data-ref="obj/Debug/" href="#obj/Debug/">obj/Debug/</a> - Temporary directory for debug versions of the compiled intermediate files.
<a class='local-link directory-link' data-ref="obj/Debug/net6.0/" href="#obj/Debug/net6.0/">obj/Debug/net6.0/</a> - Temporary directory for debug versions of the compiled intermediate files for .NET 6.0.