public static TbsCertificateStructure GetInstance( object obj) { if (obj is TbsCertificateStructure) { return (TbsCertificateStructure) obj; } if (obj is Asn1Sequence) { return new TbsCertificateStructure((Asn1Sequence) obj); } throw new ArgumentException("unknown object in factory: " + obj.GetType().Name, "obj"); }