summary refs log tree commit diff
path: root/crypto/src/asn1/icao/DataGroupHash.cs
diff options
context:
space:
mode:
Diffstat (limited to 'crypto/src/asn1/icao/DataGroupHash.cs')
-rw-r--r--crypto/src/asn1/icao/DataGroupHash.cs57
1 files changed, 25 insertions, 32 deletions
diff --git a/crypto/src/asn1/icao/DataGroupHash.cs b/crypto/src/asn1/icao/DataGroupHash.cs
index c4a674152..c07fc8953 100644
--- a/crypto/src/asn1/icao/DataGroupHash.cs
+++ b/crypto/src/asn1/icao/DataGroupHash.cs
@@ -32,50 +32,43 @@ namespace Org.BouncyCastle.Asn1.Icao
     public class DataGroupHash
         : Asn1Encodable
     {
-        private readonly DerInteger dataGroupNumber;
-        private readonly Asn1OctetString dataGroupHashValue;
-
-		public static DataGroupHash GetInstance(object obj)
+        public static DataGroupHash GetInstance(object obj)
         {
-            if (obj is DataGroupHash)
-                return (DataGroupHash)obj;
+            if (obj == null)
+                return null;
+            if (obj is DataGroupHash dataGroupHash)
+                return dataGroupHash;
+            return new DataGroupHash(Asn1Sequence.GetInstance(obj));
+        }
 
-			if (obj != null)
-				return new DataGroupHash(Asn1Sequence.GetInstance(obj));
+        public static DataGroupHash GetInstance(Asn1TaggedObject taggedObject, bool declaredExplicit)
+        {
+            return new DataGroupHash(Asn1Sequence.GetInstance(taggedObject, declaredExplicit));
+        }
 
-			return null;
-		}
+        private readonly DerInteger m_dataGroupNumber;
+        private readonly Asn1OctetString m_dataGroupHashValue;
 
-		private DataGroupHash(Asn1Sequence seq)
+        private DataGroupHash(Asn1Sequence seq)
         {
-			if (seq.Count != 2)
-				throw new ArgumentException("Wrong number of elements in sequence", "seq");
+            int count = seq.Count;
+            if (count != 2)
+                throw new ArgumentException("Bad sequence size: " + count, nameof(seq));
 
-			this.dataGroupNumber = DerInteger.GetInstance(seq[0]);
-            this.dataGroupHashValue = Asn1OctetString.GetInstance(seq[1]);
+			m_dataGroupNumber = DerInteger.GetInstance(seq[0]);
+            m_dataGroupHashValue = Asn1OctetString.GetInstance(seq[1]);
         }
 
-		public DataGroupHash(
-            int				dataGroupNumber,
-            Asn1OctetString	dataGroupHashValue)
+		public DataGroupHash(int dataGroupNumber, Asn1OctetString dataGroupHashValue)
         {
-            this.dataGroupNumber = new DerInteger(dataGroupNumber);
-            this.dataGroupHashValue = dataGroupHashValue;
+            m_dataGroupNumber = new DerInteger(dataGroupNumber);
+            m_dataGroupHashValue = dataGroupHashValue ?? throw new ArgumentNullException(nameof(dataGroupHashValue));
         }
 
-		public int DataGroupNumber
-		{
-            get { return dataGroupNumber.IntValueExact; }
-		}
+		public int DataGroupNumber => m_dataGroupNumber.IntValueExact;
 
-		public Asn1OctetString DataGroupHashValue
-		{
-			get { return dataGroupHashValue; }
-		}
+		public Asn1OctetString DataGroupHashValue => m_dataGroupHashValue;
 
-		public override Asn1Object ToAsn1Object()
-        {
-			return new DerSequence(dataGroupNumber, dataGroupHashValue);
-        }
+		public override Asn1Object ToAsn1Object() => new DerSequence(m_dataGroupNumber, m_dataGroupHashValue);
     }
 }