diff --git a/src/ImageSharp/Formats/Jpeg/PdfJsPort/Components/PdfJsFileMarker.cs b/src/ImageSharp/Formats/Jpeg/PdfJsPort/Components/PdfJsFileMarker.cs
index d6ff1e9ed..8e51c0b7c 100644
--- a/src/ImageSharp/Formats/Jpeg/PdfJsPort/Components/PdfJsFileMarker.cs
+++ b/src/ImageSharp/Formats/Jpeg/PdfJsPort/Components/PdfJsFileMarker.cs
@@ -6,7 +6,7 @@ namespace SixLabors.ImageSharp.Formats.Jpeg.PdfJsPort.Components
///
/// Represents a jpeg file marker
///
- internal struct PdfJsFileMarker
+ internal readonly struct PdfJsFileMarker
{
///
/// Initializes a new instance of the struct.
@@ -34,9 +34,9 @@ namespace SixLabors.ImageSharp.Formats.Jpeg.PdfJsPort.Components
}
///
- /// Gets or sets a value indicating whether the current marker is invalid
+ /// Gets a value indicating whether the current marker is invalid
///
- public bool Invalid { get; set; }
+ public bool Invalid { get; }
///
/// Gets the position of the marker within a stream
diff --git a/src/ImageSharp/Primitives/Rational.cs b/src/ImageSharp/Primitives/Rational.cs
index 6678eb954..fa3961ffa 100644
--- a/src/ImageSharp/Primitives/Rational.cs
+++ b/src/ImageSharp/Primitives/Rational.cs
@@ -12,7 +12,7 @@ namespace SixLabors.ImageSharp.Primitives
///
/// This is a very simplified implementation of a rational number designed for use with metadata only.
///
- public struct Rational : IEquatable
+ public readonly struct Rational : IEquatable
{
///
/// Initializes a new instance of the struct.
@@ -41,7 +41,7 @@ namespace SixLabors.ImageSharp.Primitives
/// Specified if the rational should be simplified.
public Rational(uint numerator, uint denominator, bool simplify)
{
- LongRational rational = new LongRational(numerator, denominator, simplify);
+ var rational = new LongRational(numerator, denominator, simplify);
this.Numerator = (uint)rational.Numerator;
this.Denominator = (uint)rational.Denominator;
@@ -63,7 +63,7 @@ namespace SixLabors.ImageSharp.Primitives
/// Whether to use the best possible precision when parsing the value.
public Rational(double value, bool bestPrecision)
{
- LongRational rational = new LongRational(Math.Abs(value), bestPrecision);
+ var rational = new LongRational(Math.Abs(value), bestPrecision);
this.Numerator = (uint)rational.Numerator;
this.Denominator = (uint)rational.Denominator;
@@ -129,19 +129,14 @@ namespace SixLabors.ImageSharp.Primitives
///
public override bool Equals(object obj)
{
- if (obj is Rational)
- {
- return this.Equals((Rational)obj);
- }
-
- return false;
+ return obj is Rational other && this.Equals(other);
}
///
public bool Equals(Rational other)
{
- LongRational left = new LongRational(this.Numerator, this.Denominator);
- LongRational right = new LongRational(other.Numerator, other.Denominator);
+ var left = new LongRational(this.Numerator, this.Denominator);
+ var right = new LongRational(other.Numerator, other.Denominator);
return left.Equals(right);
}
@@ -149,7 +144,7 @@ namespace SixLabors.ImageSharp.Primitives
///
public override int GetHashCode()
{
- LongRational self = new LongRational(this.Numerator, this.Denominator);
+ var self = new LongRational(this.Numerator, this.Denominator);
return self.GetHashCode();
}
@@ -180,7 +175,7 @@ namespace SixLabors.ImageSharp.Primitives
/// The
public string ToString(IFormatProvider provider)
{
- LongRational rational = new LongRational(this.Numerator, this.Denominator);
+ var rational = new LongRational(this.Numerator, this.Denominator);
return rational.ToString(provider);
}
}
diff --git a/src/ImageSharp/Primitives/SignedRational.cs b/src/ImageSharp/Primitives/SignedRational.cs
index c2a7b3e23..955e9db5e 100644
--- a/src/ImageSharp/Primitives/SignedRational.cs
+++ b/src/ImageSharp/Primitives/SignedRational.cs
@@ -12,7 +12,7 @@ namespace SixLabors.ImageSharp.Primitives
///
/// This is a very simplified implementation of a rational number designed for use with metadata only.
///
- public struct SignedRational : IEquatable
+ public readonly struct SignedRational : IEquatable
{
///
/// Initializes a new instance of the struct.
@@ -41,7 +41,7 @@ namespace SixLabors.ImageSharp.Primitives
/// Specified if the rational should be simplified.
public SignedRational(int numerator, int denominator, bool simplify)
{
- LongRational rational = new LongRational(numerator, denominator, simplify);
+ var rational = new LongRational(numerator, denominator, simplify);
this.Numerator = (int)rational.Numerator;
this.Denominator = (int)rational.Denominator;
@@ -140,8 +140,8 @@ namespace SixLabors.ImageSharp.Primitives
///
public bool Equals(SignedRational other)
{
- LongRational left = new LongRational(this.Numerator, this.Denominator);
- LongRational right = new LongRational(other.Numerator, other.Denominator);
+ var left = new LongRational(this.Numerator, this.Denominator);
+ var right = new LongRational(other.Numerator, other.Denominator);
return left.Equals(right);
}
@@ -180,7 +180,7 @@ namespace SixLabors.ImageSharp.Primitives
/// The
public string ToString(IFormatProvider provider)
{
- LongRational rational = new LongRational(this.Numerator, this.Denominator);
+ var rational = new LongRational(this.Numerator, this.Denominator);
return rational.ToString(provider);
}
}