diff options
Diffstat (limited to 'crypto/src/asn1/icao/DataGroupHash.cs')
-rw-r--r-- | crypto/src/asn1/icao/DataGroupHash.cs | 57 |
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); } } |