public NSObject ObjectValueForTableColumn (NSTableView table, NSTableColumn col, int row) { var value = (NSString)string.Empty; ActionHelper.Execute (delegate() { if (Entries != null) { var obj = (this.Entries [row]) as CertificateDto; X509Certificate2 cert; switch (col.Identifier) { case "Name": value = (NSString)obj.Chain; break; case "Status": value = (NSString)(obj.IsSigner ? "ACTIVE" : "IN-ACTIVE"); break; case "IssuedBy": cert = new X509Certificate2 (Encoding.ASCII.GetBytes (obj.Encoded)); value = (NSString)cert.Issuer; break; case "IssuedOn": cert = new X509Certificate2 (Encoding.ASCII.GetBytes (obj.Encoded)); value = (NSString)cert.NotBefore.ToShortDateString (); break; case "Expiration": cert = new X509Certificate2 (Encoding.ASCII.GetBytes (obj.Encoded)); value = (NSString)cert.NotAfter.ToShortDateString (); break; case "Purpose": cert = new X509Certificate2 (Encoding.ASCII.GetBytes (obj.Encoded)); value = (NSString)cert.ToKeyUsage (); break; case "SubjectDn": cert = new X509Certificate2 (Encoding.ASCII.GetBytes (obj.Encoded)); value = (NSString)cert.Subject; break; case "Fingerprint": cert = new X509Certificate2 (Encoding.ASCII.GetBytes (obj.Encoded)); value = (NSString)cert.GetFormattedThumbPrint (); break; default: break; } } }); return value; }