Using string for OBJECT IDENTIFIER

OBJECT IDENTIFIER values are represented using C# class Asn1StringOID, or a subclass thereof, when the -oid-as-stringoption is specified.

Asn1StringOIDhas a public string member, mValue, which must be in dotted-number format (e.g. "0.5.1234"):

public string mValue;

The advantage of this representation is that arbitrarily large arc identifiers may be used.

If a named type is defined:

<name> ::= OBJECT IDENTIFIER

then asn1c will generate a class resembling the following:

public class <name> : Asn1StringOID {
   public <name> () : base()
   {}

   public <name> (int[] value_) :
      base (value_)
   {}

   public <name> (string value_) :
      base (value_)
   {}

}