8[TypeForwardedFrom(
"mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089")]
47 public Version(
int major,
int minor,
int build,
int revision)
71 public Version(
int major,
int minor,
int build)
150 if ((
object)
value !=
this)
152 if ((
object)
value !=
null)
193 public override bool Equals([NotNullWhen(
true)]
object?
obj)
200 if ((
object)
obj !=
this)
214 num |= (
_Major & 0xF) << 28;
215 num |= (
_Minor & 0xFF) << 20;
216 num |= (
_Build & 0xFF) << 12;
230 return destination.Slice(0, charsWritten).ToString();
248 ThrowArgumentException(
"4");
256 ThrowArgumentException(
"3");
261 ThrowArgumentException(
"2");
270 for (
int i = 0; i < fieldCount; i++)
294 num += charsWritten2;
299 static void ThrowArgumentException(
string failureUpperBound)
341 int num =
input.IndexOf(
'.');
351 int num3 =
input.Slice(num + 1).IndexOf(
'.');
355 num2 =
input.Slice(num3 + 1).IndexOf(
'.');
359 if (
input.Slice(num2 + 1).Contains(
'.'))
373 int parsedComponent2;
376 if (!
TryParseComponent(
input.Slice(num + 1, num3 - num - 1),
"input", throwOnFailure, out parsedComponent2))
380 int parsedComponent3;
387 return new Version(parsedComponent, parsedComponent2, parsedComponent3, parsedComponent4);
393 return new Version(parsedComponent, parsedComponent2, parsedComponent3);
399 return new Version(parsedComponent, parsedComponent2);
414 return parsedComponent >= 0;
422 if ((
object)v2 ==
null)
424 if ((
object)v1 !=
null)
430 if ((
object)v2 != v1)
444 if ((
object)v1 ==
null)
446 return (
object)v2 !=
null;
453 if ((
object)v1 ==
null)
static CultureInfo InvariantCulture
static string Arg_MustBeVersion
static string Arg_VersionString
static string Format(string resourceFormat, object p1)
static string ArgumentOutOfRange_Version
static string ArgumentOutOfRange_Bounds_Lower_Upper
static bool operator<=(Version? v1, Version? v2)
static bool operator==(Version? v1, Version? v2)
Version(int major, int minor, int build, int revision)
override bool Equals([NotNullWhen(true)] object? obj)
static bool TryParseComponent(ReadOnlySpan< char > component, string componentName, bool throwOnFailure, out int parsedComponent)
int DefaultFormatFieldCount
static Version Parse(ReadOnlySpan< char > input)
int CompareTo(object? version)
Version(int major, int minor, int build)
Version(int major, int minor)
static Version Parse(string input)
string ToString(int fieldCount)
int CompareTo(Version? value)
static bool operator>=(Version? v1, Version? v2)
override string ToString()
static bool operator<(Version? v1, Version? v2)
static bool TryParse(ReadOnlySpan< char > input, [NotNullWhen(true)] out Version? result)
bool TryFormat(Span< char > destination, out int charsWritten)
override int GetHashCode()
bool TryFormat(Span< char > destination, int fieldCount, out int charsWritten)
static bool TryParse([NotNullWhen(true)] string? input, [NotNullWhen(true)] out Version? result)
static Version ParseVersion(ReadOnlySpan< char > input, bool throwOnFailure)
bool Equals([NotNullWhen(true)] Version? obj)
static bool operator>(Version? v1, Version? v2)
static bool operator!=(Version? v1, Version? v2)