From 58af12ad76e7bb6ac68278d45109da4472a3aae8 Mon Sep 17 00:00:00 2001 From: Peter Dettman Date: Sun, 6 Nov 2022 14:48:05 +0700 Subject: Asn1 GetInstance refactoring --- crypto/src/asn1/DerBitString.cs | 23 ++++++++++++----------- 1 file changed, 12 insertions(+), 11 deletions(-) (limited to 'crypto/src/asn1/DerBitString.cs') diff --git a/crypto/src/asn1/DerBitString.cs b/crypto/src/asn1/DerBitString.cs index 8aab88353..44b3bb95a 100644 --- a/crypto/src/asn1/DerBitString.cs +++ b/crypto/src/asn1/DerBitString.cs @@ -38,22 +38,23 @@ namespace Org.BouncyCastle.Asn1 */ public static DerBitString GetInstance(object obj) { - if (obj == null || obj is DerBitString) - { - return (DerBitString)obj; - } - //else if (obj is Asn1BitStringParser) - else if (obj is IAsn1Convertible) + if (obj == null) + return null; + + if (obj is DerBitString derBitString) + return derBitString; + + if (obj is IAsn1Convertible asn1Convertible) { - Asn1Object asn1Object = ((IAsn1Convertible)obj).ToAsn1Object(); - if (asn1Object is DerBitString) - return (DerBitString)asn1Object; + Asn1Object asn1Object = asn1Convertible.ToAsn1Object(); + if (asn1Object is DerBitString converted) + return converted; } - else if (obj is byte[]) + else if (obj is byte[] bytes) { try { - return GetInstance(FromByteArray((byte[])obj)); + return GetInstance(FromByteArray(bytes)); } catch (IOException e) { -- cgit 1.4.1