Org.BouncyCastle.Asn1.BerTaggedObjectParser.ToAsn1Object C# (CSharp) Method

ToAsn1Object() public method

public ToAsn1Object ( ) : Asn1Object
return Asn1Object
		public Asn1Object ToAsn1Object()
		{
			if (_indefiniteLength)
			{
				Asn1EncodableVector v = rLoadVector(_contentStream);

				return v.Count == 1
					?	new BerTaggedObject(true, _tagNumber, v[0])
					:	new BerTaggedObject(false, _tagNumber, BerSequence.FromVector(v));
			}

			if (IsConstructed)
			{
				Asn1EncodableVector v = rLoadVector(_contentStream);

				return v.Count == 1
					?	new DerTaggedObject(true, _tagNumber, v[0])
					:	new DerTaggedObject(false, _tagNumber, DerSequence.FromVector(v));
			}

			try
			{
				DefiniteLengthInputStream defIn = (DefiniteLengthInputStream) _contentStream;
				return new DerTaggedObject(false, _tagNumber, new DerOctetString(defIn.ToArray()));
			}
			catch (IOException e)
			{
				throw new InvalidOperationException(e.Message, e);
			}
		}
	}