{"id":334,"date":"2011-10-05T01:05:46","date_gmt":"2011-10-05T01:05:46","guid":{"rendered":"http:\/\/madprogrammer76.wordpress.com\/?p=334"},"modified":"2011-10-05T01:05:46","modified_gmt":"2011-10-05T01:05:46","slug":"building-a-c-sharp-class","status":"publish","type":"post","link":"http:\/\/andrewpallant.ca\/wordpress\/building-a-c-sharp-class\/","title":{"rendered":"Building a C-Sharp Class"},"content":{"rendered":"<p>I have created this example of a C# class to demonstrate one way of creating a basic class cbject representing one employee. \u00a0This class could be used as a starting point for just about any object.<\/p>\n<p>Take note that there are no business rules in this example. \u00a0It is of my opinion that you create a basic object first and create a\u00a0business\u00a0class second which extends the basic object. \u00a0In the business class you may put an EmployeeNumber generator, MaxLength controls on the fields, Phone number validation and other rules that may apply based on your business practices. \u00a0A business class will be demonstrated in a later blog.<\/p>\n<p>You may also want to create a collection class. \u00a0A collection class or a manager class would manage a collection of objects with Add, Remove, Select, Sort type functions. \u00a0This too will be\u00a0demonstrated\u00a0in a later blog.<\/p>\n<pre style=\"border:dashed 1px silver;background-color:#eee;padding:4px;\">    \/\/\/ &lt;summary&gt;\n    \/\/\/ Class Object Representing Employee\n    \/\/\/ &lt;\/summary&gt;\n    public class Employee : Dictionary&lt;String, Object&gt;, IEmployee\n    {\n        \/\/ ***********************| Properties |***********************\n        \/\/\/ &lt;summary&gt;\n        \/\/\/ Employee Number\n        \/\/\/ &lt;\/summary&gt;\n        public String EmployeeNumber\n        {\n            get { return (String)this[GetName()]; }\n            set { this[GetName()] = value; }\n        }\n\n        \/\/\/ &lt;summary&gt;\n        \/\/\/ Employee's First Name\n        \/\/\/ &lt;\/summary&gt;\n        public String FirstName\n        {\n            get { return (String)this[GetName()]; }\n            set { this[GetName()] = value; }\n        }\n\n        \/\/\/ &lt;summary&gt;\n        \/\/\/ Employee's Last Name\n        \/\/\/ &lt;\/summary&gt;\n        public String LastName\n        {\n            get { return (String)this[GetName()]; }\n            set { this[GetName()] = value; }\n        }\n        \/\/\/ &lt;summary&gt;\n        \/\/\/ Employee's Address Line 1\n        \/\/\/ &lt;\/summary&gt;\n        public String Address1\n        {\n            get { return (String)this[GetName()]; }\n            set { this[GetName()] = value; }\n        }\n\n        \/\/\/ &lt;summary&gt;\n        \/\/\/ Employee's Address Line 2\n        \/\/\/ &lt;\/summary&gt;\n        public String Address2\n        {\n            get { return (String)this[GetName()]; }\n            set { this[GetName()] = value; }\n        }\n\n        \/\/\/ &lt;summary&gt;\n        \/\/\/ Employee's City\n        \/\/\/ &lt;\/summary&gt;\n        public String City\n        {\n            get { return (String)this[GetName()]; }\n            set { this[GetName()] = value; }\n        }\n\n        \/\/\/ &lt;summary&gt;\n        \/\/\/ Employee's Province \/ State\n        \/\/\/ &lt;\/summary&gt;\n        public String Province\n        {\n            get { return (String)this[GetName()]; }\n            set { this[GetName()] = value; }\n        }\n\n        \/\/\/ &lt;summary&gt;\n        \/\/\/ Employee's Country\n        \/\/\/ &lt;\/summary&gt;\n        public String Country\n        {\n            get { return (String)this[GetName()]; }\n            set { this[GetName()] = value; }\n        }\n\n        \/\/\/ &lt;summary&gt;\n        \/\/\/ Employee's ZIP \/ Postal Code\n        \/\/\/ &lt;\/summary&gt;\n        public String ZipPostal\n        {\n            get { return (String)this[GetName()]; }\n            set { this[GetName()] = value; }\n        }\n\n        \/\/\/ &lt;summary&gt;\n        \/\/\/ Employee's Home Phone Number\n        \/\/\/ &lt;\/summary&gt;\n        public String HomePhoneNumber\n        {\n            get { return (String)this[GetName()]; }\n            set { this[GetName()] = value; }\n        }\n\n        \/\/\/ &lt;summary&gt;\n        \/\/\/ Employee's Cell Phone Number\n        \/\/\/ &lt;\/summary&gt;\n        public String CellPhoneNumber\n        {\n            get { return (String)this[GetName()]; }\n            set { this[GetName()] = value; }\n        }\n\n        \/\/\/ &lt;summary&gt;\n        \/\/\/ Employee's Full Name ( ReadOnly )\n        \/\/\/ &lt;\/summary&gt;\n        public String FullName\n        {\n            get { return String.Format(\"{0}, {1}\", FirstName, LastName); }\n        }\n\n        \/\/\/ &lt;summary&gt;\n        \/\/\/ Employee's Start Date\n        \/\/\/ &lt;\/summary&gt;\n        public DateTime StartDate\n        {\n            get { return (DateTime)this[GetName()]; }\n            set { this[GetName()] = value; }\n        }\n\n        \/\/\/ &lt;summary&gt;\n        \/\/\/ Employee's TerminationDate ( Nullable )\n        \/\/\/ &lt;\/summary&gt;\n        public DateTime? TerminationDate\n        {\n            get { return (DateTime?)this[GetName()]; }\n            set { this[GetName()] = value; }\n        }\n        \/\/ ***********************| Constructor(s) |***********************\n        \/\/\/ &lt;summary&gt;\n        \/\/\/ Constructor\n        \/\/\/ &lt;\/summary&gt;\n        public Employee()\n        {\n            Initialize();\n        }\n\n        \/\/\/ &lt;summary&gt;\n        \/\/\/ Employee\n        \/\/\/ &lt;\/summary&gt;\n        \/\/\/ &lt;param name=\"employeeNumber\"&gt;Initial Employee Number&lt;\/param&gt;\n        public Employee(String employeeNumber)\n        {\n            Initialize();\n            EmployeeNumber = employeeNumber;\n        }\n        \/\/ ***********************| Methods |***********************\n\n        \/\/\/ &lt;summary&gt;\n        \/\/\/ Initialize the Class\n        \/\/\/ &lt;\/summary&gt;\n        private void Initialize()\n        {\n            EmployeeNumber = \"\";\n            FirstName = \"\";\n            LastName = \"\";\n            Address1 = \"\";\n            Address2 = \"\";\n            City = \"\";\n            Province = \"\";\n            Country = \"\";\n            ZipPostal = \"\";\n            HomePhoneNumber = \"\";\n            CellPhoneNumber = \"\";\n        }\n\n        \/\/\/ &lt;summary&gt;\n        \/\/\/ Get Method Name\n        \/\/\/ &lt;\/summary&gt;\n        \/\/\/ &lt;returns&gt;First and Last Name&lt;\/returns&gt;\n        public String GetName()\n        {\n            StackTrace stackTrace = new StackTrace();\n            StackFrame stackFrame = stackTrace.GetFrame(1);\n            MethodBase methodBase = stackFrame.GetMethod();\n            return methodBase.Name.Replace(\"set_\", \"\").Replace(\"get_\", \"\");\n        }\n\n        \/\/\/ &lt;summary&gt;\n        \/\/\/ Re-initializes the Class\n        \/\/\/ &lt;\/summary&gt;\n        public void Reset()\n        {\n            this.Clear();\n            Initialize();\n        }\n    }<\/pre>\n","protected":false},"excerpt":{"rendered":"<p>I have created this example of a C# class to demonstrate one way of creating a basic class cbject representing one employee. \u00a0This class could be used as a starting point for just about any object. Take note that there are no business rules in this example. \u00a0It is of my opinion that you create &hellip; <a href=\"http:\/\/andrewpallant.ca\/wordpress\/building-a-c-sharp-class\/\" class=\"more-link\">Continue reading <span class=\"screen-reader-text\">Building a C-Sharp Class<\/span><\/a><\/p>\n","protected":false},"author":2,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[8,13,14,24,25,36,67,70,75],"tags":[],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v23.9 - https:\/\/yoast.com\/wordpress\/plugins\/seo\/ -->\r\n<title>Building a C-Sharp Class - LDNDeveloper<\/title>\r\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\r\n<link rel=\"canonical\" href=\"http:\/\/andrewpallant.ca\/wordpress\/building-a-c-sharp-class\/\" \/>\r\n<meta property=\"og:locale\" content=\"en_US\" \/>\r\n<meta property=\"og:type\" content=\"article\" \/>\r\n<meta property=\"og:title\" content=\"Building a C-Sharp Class - LDNDeveloper\" \/>\r\n<meta property=\"og:description\" content=\"I have created this example of a C# class to demonstrate one way of creating a basic class cbject representing one employee. \u00a0This class could be used as a starting point for just about any object. Take note that there are no business rules in this example. \u00a0It is of my opinion that you create &hellip; Continue reading Building a C-Sharp Class\" \/>\r\n<meta property=\"og:url\" content=\"http:\/\/andrewpallant.ca\/wordpress\/building-a-c-sharp-class\/\" \/>\r\n<meta property=\"og:site_name\" content=\"LDNDeveloper\" \/>\r\n<meta property=\"article:published_time\" content=\"2011-10-05T01:05:46+00:00\" \/>\r\n<meta name=\"author\" content=\"andrewpallant\" \/>\r\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\r\n<meta name=\"twitter:creator\" content=\"@ldnDeveloper\" \/>\r\n<meta name=\"twitter:site\" content=\"@LdnDeveloper\" \/>\r\n<meta name=\"twitter:label1\" content=\"Written by\" \/>\n\t<meta name=\"twitter:data1\" content=\"andrewpallant\" \/>\n\t<meta name=\"twitter:label2\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data2\" content=\"3 minutes\" \/>\r\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"http:\/\/andrewpallant.ca\/wordpress\/building-a-c-sharp-class\/#article\",\"isPartOf\":{\"@id\":\"http:\/\/andrewpallant.ca\/wordpress\/building-a-c-sharp-class\/\"},\"author\":{\"name\":\"andrewpallant\",\"@id\":\"http:\/\/andrewpallant.ca\/wordpress\/#\/schema\/person\/0e7b5e71751000e8f66b17b69ef4ab97\"},\"headline\":\"Building a C-Sharp Class\",\"datePublished\":\"2011-10-05T01:05:46+00:00\",\"dateModified\":\"2011-10-05T01:05:46+00:00\",\"mainEntityOfPage\":{\"@id\":\"http:\/\/andrewpallant.ca\/wordpress\/building-a-c-sharp-class\/\"},\"wordCount\":151,\"commentCount\":0,\"publisher\":{\"@id\":\"http:\/\/andrewpallant.ca\/wordpress\/#\/schema\/person\/f6f5bb1ac3e0c5a54a8b5ce35fd67b84\"},\"articleSection\":[\"Better Coding\",\"C#\",\"C-Sharp\",\"Developer\",\"DotNet\",\"How To\",\"Properties\",\"Reflection\",\"Skills\"],\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"http:\/\/andrewpallant.ca\/wordpress\/building-a-c-sharp-class\/#respond\"]}]},{\"@type\":\"WebPage\",\"@id\":\"http:\/\/andrewpallant.ca\/wordpress\/building-a-c-sharp-class\/\",\"url\":\"http:\/\/andrewpallant.ca\/wordpress\/building-a-c-sharp-class\/\",\"name\":\"Building a C-Sharp Class - LDNDeveloper\",\"isPartOf\":{\"@id\":\"http:\/\/andrewpallant.ca\/wordpress\/#website\"},\"datePublished\":\"2011-10-05T01:05:46+00:00\",\"dateModified\":\"2011-10-05T01:05:46+00:00\",\"breadcrumb\":{\"@id\":\"http:\/\/andrewpallant.ca\/wordpress\/building-a-c-sharp-class\/#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"http:\/\/andrewpallant.ca\/wordpress\/building-a-c-sharp-class\/\"]}]},{\"@type\":\"BreadcrumbList\",\"@id\":\"http:\/\/andrewpallant.ca\/wordpress\/building-a-c-sharp-class\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"http:\/\/andrewpallant.ca\/wordpress\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Building a C-Sharp Class\"}]},{\"@type\":\"WebSite\",\"@id\":\"http:\/\/andrewpallant.ca\/wordpress\/#website\",\"url\":\"http:\/\/andrewpallant.ca\/wordpress\/\",\"name\":\"LDNDeveloper\",\"description\":\"Learning, Growing and Sharing.\",\"publisher\":{\"@id\":\"http:\/\/andrewpallant.ca\/wordpress\/#\/schema\/person\/f6f5bb1ac3e0c5a54a8b5ce35fd67b84\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"http:\/\/andrewpallant.ca\/wordpress\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"en-US\"},{\"@type\":[\"Person\",\"Organization\"],\"@id\":\"http:\/\/andrewpallant.ca\/wordpress\/#\/schema\/person\/f6f5bb1ac3e0c5a54a8b5ce35fd67b84\",\"name\":\"ldnDeveloper\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"http:\/\/andrewpallant.ca\/wordpress\/#\/schema\/person\/image\/\",\"url\":\"https:\/\/andrewpallant.ca\/wordpress\/wp-content\/uploads\/2017\/05\/cropped-AAEAAQAAAAAAAAXQAAAAJDQxMGRlMzFjLWM4ODctNDk1NC05M2EyLWE1NDNhNTRiZjVlYw-2.jpg\",\"contentUrl\":\"https:\/\/andrewpallant.ca\/wordpress\/wp-content\/uploads\/2017\/05\/cropped-AAEAAQAAAAAAAAXQAAAAJDQxMGRlMzFjLWM4ODctNDk1NC05M2EyLWE1NDNhNTRiZjVlYw-2.jpg\",\"width\":512,\"height\":512,\"caption\":\"ldnDeveloper\"},\"logo\":{\"@id\":\"http:\/\/andrewpallant.ca\/wordpress\/#\/schema\/person\/image\/\"},\"description\":\"Andrew Pallant (@LdnDeveloper) has been a web, database and desktop developer for over 16 years. Andrew has worked on projects that ranged from factory automation to writing business applications. Most recently he has been heavily involved in various forms for ecommerce projects. Over the years Andrew has worn many hats: Project Manager, IT Manager, Lead Developer, Supervisor of Developers and many more - See more at: http:\/\/www.unlatched.com\/#sthash.8DiTkpKy.dpuf\",\"sameAs\":[\"http:\/\/www.andrewpallant.ca\",\"https:\/\/x.com\/LdnDeveloper\"]},{\"@type\":\"Person\",\"@id\":\"http:\/\/andrewpallant.ca\/wordpress\/#\/schema\/person\/0e7b5e71751000e8f66b17b69ef4ab97\",\"name\":\"andrewpallant\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"http:\/\/andrewpallant.ca\/wordpress\/#\/schema\/person\/image\/\",\"url\":\"http:\/\/1.gravatar.com\/avatar\/?s=96&d=mm&r=g\",\"contentUrl\":\"http:\/\/1.gravatar.com\/avatar\/?s=96&d=mm&r=g\",\"caption\":\"andrewpallant\"},\"url\":\"http:\/\/andrewpallant.ca\/wordpress\/author\/andrewpallant\/\"}]}<\/script>\r\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"Building a C-Sharp Class - LDNDeveloper","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"http:\/\/andrewpallant.ca\/wordpress\/building-a-c-sharp-class\/","og_locale":"en_US","og_type":"article","og_title":"Building a C-Sharp Class - LDNDeveloper","og_description":"I have created this example of a C# class to demonstrate one way of creating a basic class cbject representing one employee. \u00a0This class could be used as a starting point for just about any object. Take note that there are no business rules in this example. \u00a0It is of my opinion that you create &hellip; Continue reading Building a C-Sharp Class","og_url":"http:\/\/andrewpallant.ca\/wordpress\/building-a-c-sharp-class\/","og_site_name":"LDNDeveloper","article_published_time":"2011-10-05T01:05:46+00:00","author":"andrewpallant","twitter_card":"summary_large_image","twitter_creator":"@ldnDeveloper","twitter_site":"@LdnDeveloper","twitter_misc":{"Written by":"andrewpallant","Est. reading time":"3 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"http:\/\/andrewpallant.ca\/wordpress\/building-a-c-sharp-class\/#article","isPartOf":{"@id":"http:\/\/andrewpallant.ca\/wordpress\/building-a-c-sharp-class\/"},"author":{"name":"andrewpallant","@id":"http:\/\/andrewpallant.ca\/wordpress\/#\/schema\/person\/0e7b5e71751000e8f66b17b69ef4ab97"},"headline":"Building a C-Sharp Class","datePublished":"2011-10-05T01:05:46+00:00","dateModified":"2011-10-05T01:05:46+00:00","mainEntityOfPage":{"@id":"http:\/\/andrewpallant.ca\/wordpress\/building-a-c-sharp-class\/"},"wordCount":151,"commentCount":0,"publisher":{"@id":"http:\/\/andrewpallant.ca\/wordpress\/#\/schema\/person\/f6f5bb1ac3e0c5a54a8b5ce35fd67b84"},"articleSection":["Better Coding","C#","C-Sharp","Developer","DotNet","How To","Properties","Reflection","Skills"],"inLanguage":"en-US","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["http:\/\/andrewpallant.ca\/wordpress\/building-a-c-sharp-class\/#respond"]}]},{"@type":"WebPage","@id":"http:\/\/andrewpallant.ca\/wordpress\/building-a-c-sharp-class\/","url":"http:\/\/andrewpallant.ca\/wordpress\/building-a-c-sharp-class\/","name":"Building a C-Sharp Class - LDNDeveloper","isPartOf":{"@id":"http:\/\/andrewpallant.ca\/wordpress\/#website"},"datePublished":"2011-10-05T01:05:46+00:00","dateModified":"2011-10-05T01:05:46+00:00","breadcrumb":{"@id":"http:\/\/andrewpallant.ca\/wordpress\/building-a-c-sharp-class\/#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["http:\/\/andrewpallant.ca\/wordpress\/building-a-c-sharp-class\/"]}]},{"@type":"BreadcrumbList","@id":"http:\/\/andrewpallant.ca\/wordpress\/building-a-c-sharp-class\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"http:\/\/andrewpallant.ca\/wordpress\/"},{"@type":"ListItem","position":2,"name":"Building a C-Sharp Class"}]},{"@type":"WebSite","@id":"http:\/\/andrewpallant.ca\/wordpress\/#website","url":"http:\/\/andrewpallant.ca\/wordpress\/","name":"LDNDeveloper","description":"Learning, Growing and Sharing.","publisher":{"@id":"http:\/\/andrewpallant.ca\/wordpress\/#\/schema\/person\/f6f5bb1ac3e0c5a54a8b5ce35fd67b84"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"http:\/\/andrewpallant.ca\/wordpress\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"en-US"},{"@type":["Person","Organization"],"@id":"http:\/\/andrewpallant.ca\/wordpress\/#\/schema\/person\/f6f5bb1ac3e0c5a54a8b5ce35fd67b84","name":"ldnDeveloper","image":{"@type":"ImageObject","inLanguage":"en-US","@id":"http:\/\/andrewpallant.ca\/wordpress\/#\/schema\/person\/image\/","url":"https:\/\/andrewpallant.ca\/wordpress\/wp-content\/uploads\/2017\/05\/cropped-AAEAAQAAAAAAAAXQAAAAJDQxMGRlMzFjLWM4ODctNDk1NC05M2EyLWE1NDNhNTRiZjVlYw-2.jpg","contentUrl":"https:\/\/andrewpallant.ca\/wordpress\/wp-content\/uploads\/2017\/05\/cropped-AAEAAQAAAAAAAAXQAAAAJDQxMGRlMzFjLWM4ODctNDk1NC05M2EyLWE1NDNhNTRiZjVlYw-2.jpg","width":512,"height":512,"caption":"ldnDeveloper"},"logo":{"@id":"http:\/\/andrewpallant.ca\/wordpress\/#\/schema\/person\/image\/"},"description":"Andrew Pallant (@LdnDeveloper) has been a web, database and desktop developer for over 16 years. Andrew has worked on projects that ranged from factory automation to writing business applications. Most recently he has been heavily involved in various forms for ecommerce projects. Over the years Andrew has worn many hats: Project Manager, IT Manager, Lead Developer, Supervisor of Developers and many more - See more at: http:\/\/www.unlatched.com\/#sthash.8DiTkpKy.dpuf","sameAs":["http:\/\/www.andrewpallant.ca","https:\/\/x.com\/LdnDeveloper"]},{"@type":"Person","@id":"http:\/\/andrewpallant.ca\/wordpress\/#\/schema\/person\/0e7b5e71751000e8f66b17b69ef4ab97","name":"andrewpallant","image":{"@type":"ImageObject","inLanguage":"en-US","@id":"http:\/\/andrewpallant.ca\/wordpress\/#\/schema\/person\/image\/","url":"http:\/\/1.gravatar.com\/avatar\/?s=96&d=mm&r=g","contentUrl":"http:\/\/1.gravatar.com\/avatar\/?s=96&d=mm&r=g","caption":"andrewpallant"},"url":"http:\/\/andrewpallant.ca\/wordpress\/author\/andrewpallant\/"}]}},"_links":{"self":[{"href":"http:\/\/andrewpallant.ca\/wordpress\/wp-json\/wp\/v2\/posts\/334"}],"collection":[{"href":"http:\/\/andrewpallant.ca\/wordpress\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"http:\/\/andrewpallant.ca\/wordpress\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"http:\/\/andrewpallant.ca\/wordpress\/wp-json\/wp\/v2\/users\/2"}],"replies":[{"embeddable":true,"href":"http:\/\/andrewpallant.ca\/wordpress\/wp-json\/wp\/v2\/comments?post=334"}],"version-history":[{"count":0,"href":"http:\/\/andrewpallant.ca\/wordpress\/wp-json\/wp\/v2\/posts\/334\/revisions"}],"wp:attachment":[{"href":"http:\/\/andrewpallant.ca\/wordpress\/wp-json\/wp\/v2\/media?parent=334"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"http:\/\/andrewpallant.ca\/wordpress\/wp-json\/wp\/v2\/categories?post=334"},{"taxonomy":"post_tag","embeddable":true,"href":"http:\/\/andrewpallant.ca\/wordpress\/wp-json\/wp\/v2\/tags?post=334"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}