{"id":75983,"date":"2022-10-26T08:00:18","date_gmt":"2022-10-26T06:00:18","guid":{"rendered":"https:\/\/code-maze.com\/?p=75983"},"modified":"2022-11-26T16:40:56","modified_gmt":"2022-11-26T15:40:56","slug":"csharp-constructor-overloading","status":"publish","type":"post","link":"https:\/\/code-maze.com\/csharp-constructor-overloading\/","title":{"rendered":"Constructor Overloading in C#"},"content":{"rendered":"<p>In this article, we are going to talk about constructor overloading in C#.\u00a0We&#8217;ll look at the different ways to implement it in an application.\u00a0<\/p>\n<p>While we look at constructor overloading in this article, we have an existing article on <a href=\"https:\/\/code-maze.com\/csharp-constructors\/\" target=\"_blank\" rel=\"noopener\">constructors<\/a> that can act as a refresher before we start.<\/p>\n<div style=\"padding: 20px; border-left: 5px #dc2323 solid; display: block; margin-bottom: 20px; box-shadow: 1px 1px 5px 0px lightgrey;\">To download the source code for this article, you can visit our <a href=\"https:\/\/github.com\/CodeMazeBlog\/CodeMazeGuides\/tree\/main\/csharp-basic-topics\/ConstructorOverloadingInCSharp\" target=\"_blank\" rel=\"nofollow noopener\">GitHub repository<\/a>.<\/div>\n<p>Let&#8217;s begin.<\/p>\n<h2><a id=\"ctor-overloading\"><\/a>What is Constructor Overloading in C#?<\/h2>\n<p>Constructor Overloading is a technique to define multiple constructors within a class with different sets of parameters to achieve polymorphism.<\/p>\n<p>We can overload constructors in C# just like <a href=\"https:\/\/code-maze.com\/csharp-method-overloading\/\" target=\"_blank\" rel=\"noopener\">methods<\/a>. <strong>We can do so by changing the signatures by using a different number, or type of parameters<\/strong>.<\/p>\n<p>Given that we have more than one type of parameter in the constructor, we can also change their order and achieve constructor overloading.<\/p>\n<p>Let&#8217;s look at each type in detail.<\/p>\n<p>To start, let&#8217;s create a class <code>Animal<\/code>:<\/p>\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"csharp\">public class Animal\r\n{\r\n    public string Name { get; set; }\r\n    public string Type { get; set; }\r\n    public int Age { get; set; }\r\n\r\n    public string Speak()\r\n    {\r\n        return string.Format(\"Hi! My name is {0}, and I am a {1} years old {2}.\", Name, Age, Type);\r\n    }\r\n}<\/pre>\n<p>This is a simple class that contains three properties: <code>Name<\/code>, <code>Type<\/code>, <code>Age<\/code>, and a method <code>Speak()<\/code>.<\/p>\n<h2><a id=\"ctor-ovrld-num\"><\/a>Different Numbers of Parameters<\/h2>\n<p>We can create multiple constructors with the same name i.e. overload them <strong>if the number of parameters in them is different<\/strong>:<\/p>\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"csharp\">public Animal()\r\n{\r\n    Name = \"Daffy\";\r\n    Type = \"duck\";\r\n    Age = 85;\r\n}<\/pre>\n<p>We have a default constructor for the <code>Animal<\/code> class that sets a default value for all the properties. However, we can make this assignment dynamic:<\/p>\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"csharp\" data-enlighter-highlight=\"1\">public Animal(string name, string type, int age)\r\n{\r\n    Name = name;\r\n    Type = type;\r\n    Age = age;\r\n}<\/pre>\n<p>The parameterized constructor takes three parameters that we assign to the properties <code>Name<\/code>, <code>Type<\/code>, and <code>Age<\/code>. In this way, even when they share the name, the compiler treats both of these constructors as different.<\/p>\n<p>Now we can test both constructors using the <code>Speak()<\/code> method:<\/p>\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"csharp\">var animal = new Animal();\r\n\r\nstring expected = \"Hi! My name is Daffy, and I am a 85 years old duck.\";\r\nstring actual = animal.Speak();\r\n\r\nAssert.Equal(expected, actual);<\/pre>\n<p>As expected, the constructor without any parameters sets default values to the class properties.<\/p>\n<p>Now, when executing the parameterized constructor, we get the values that we pass while instantiating:<\/p>\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"csharp\">var animal = new Animal(\"Bugs\", \"bunny\", 84);\r\n\r\nstring expected = \"Hi! My name is Bugs, and I am a 84 years old bunny.\";\r\nstring actual = animal.Speak();\r\n\r\nAssert.Equal(expected, actual);<\/pre>\n<h2><a id=\"ctor-ovrld-type\"><\/a>Different Types of Parameters<\/h2>\n<p>We can also <strong>overload a constructor having the same number of parameters if at least one of the parameters is a different type<\/strong>:<\/p>\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"csharp\">public Animal(string name, string type, int age)\r\n{\r\n    Name = name;\r\n    Type = type;\r\n    Age = age;\r\n}<\/pre>\n<p>Here, we have a constructor that takes 2 parameters of type <code>System.String<\/code> and another of type <code>System.Int32<\/code>. We can overload this constructor by changing the type of any parameter:<\/p>\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"csharp\" data-enlighter-highlight=\"1\">public Animal(string name, string type, string age)\r\n{\r\n    Name = name;\r\n    Type = type;\r\n    Age = Convert.ToInt32(age);\r\n}<\/pre>\n<p>The constructor in the second example takes the same number of parameters. However, the parameter to enter <em>age\u00a0<\/em>is of type <code>System.Int32 <\/code>in the former constructor while it&#8217;s <code>System.String<\/code> in the latter.<\/p>\n<p>Let&#8217;s test the new constructor using the <code>Speak()<\/code> method:<\/p>\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"csharp\">var animal = new Animal(\"Sylvester\", \"cat\", \"83\");\r\n\r\nstring expected = \"Hi! My name is Sylvester, and I am a 83 years old cat.\";\r\nstring actual = animal.Speak();\r\n\r\nAssert.Equal(expected, actual);<\/pre>\n<h2><a id=\"ctor-ovrld-order\"><\/a>Different Order of Parameters<\/h2>\n<p>Another <strong>way to overload constructors is by changing the order of parameters in the constructors<\/strong>:<\/p>\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"csharp\">public Animal(string name, string type, int age)\r\n{\r\n    Name = name;\r\n    Type = type;\r\n    Age = age;\r\n}<\/pre>\n<p>We have a constructor from our previous example. We can overload it by keeping the same number and type of parameters while reordering them:<\/p>\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"csharp\" data-enlighter-highlight=\"1\">public Animal(string type, int age, string name)\r\n{\r\n    Name = name;\r\n    Type = type;\r\n    Age = age;\r\n}<\/pre>\n<p>In the example above, both constructors have the same number of parameters as well as the same type of parameters i.e. 2 <code>System.String<\/code> types and 1 <code>System.Int32<\/code> type.<\/p>\n<p>However, the order of these parameters is different and hence the compiler acknowledges the latter constructor as a new one:<\/p>\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"csharp\">var animal = new Animal(\"mouse\", 69, \"Speedy\");\r\n\r\nstring expected = \"Hi! My name is Speedy, and I am a 69 years old mouse.\";\r\nstring actual = animal.Speak();\r\n\r\nAssert.Equal(expected, actual);<\/pre>\n<p>With this type of constructor overloading, however, we need to be aware of a caveat:<\/p>\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"csharp\" data-enlighter-highlight=\"5\">public class Animal\r\n{\r\n    public Animal(string name, string type) { }\r\n\r\n    public Animal(string type, string name) { }\r\n}<\/pre>\n<p><strong>This is<\/strong> <strong>not a valid example<\/strong> of\u00a0 constructor overloading where we changed the orders of <code>name<\/code> and <code>type<\/code> parameters.<\/p>\n<p>This results in a compiler error &#8220;<em>Type &#8216;Animal&#8217; already defines a member called &#8216;Animal&#8217; with the same parameter types<\/em>&#8221; on the second constructor.<\/p>\n<p>The reason behind the error is that the compiler only cares about the types and orders of parameters. There is a constructor that takes 2 <code>System.String<\/code> arguments already. Hence, there is an error on the second declaration.<\/p>\n<p>However, there is one improvement that we can make to these examples discussed here. While implementing constructor overloading, we introduced some duplicate code. This problem can be easily addressed by <a href=\"https:\/\/code-maze.com\/csharp-constructors\/#chaining\" target=\"_blank\" rel=\"noopener\">constructor chaining<\/a>.<\/p>\n<h2><a id=\"conclusion\"><\/a>Conclusion<\/h2>\n<p>In this article, we learned about constructor overloading in C#.\u00a0 We looked at how we can have multiple constructors with varying signatures according to the name, type, or order of parameters within the same class.\u00a0<\/p>\n","protected":false},"excerpt":{"rendered":"<p>In this article, we are going to talk about constructor overloading in C#.\u00a0We&#8217;ll look at the different ways to implement it in an application.\u00a0 While we look at constructor overloading in this article, we have an existing article on constructors that can act as a refresher before we start. Let&#8217;s begin. What is Constructor Overloading [&hellip;]<\/p>\n","protected":false},"author":6,"featured_media":62189,"comment_status":"open","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"_et_pb_use_builder":"","_et_pb_old_content":"","_et_gb_content_width":"","footnotes":""},"categories":[12],"tags":[10,1347,328],"class_list":["post-75983","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-csharp","tag-net","tag-constructor","tag-constructor-overloading","et-has-post-format-content","et_post_format-et-post-format-standard"],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v24.7 - https:\/\/yoast.com\/wordpress\/plugins\/seo\/ -->\n<title>Constructor Overloading in C# - Code Maze<\/title>\n<meta name=\"description\" content=\"Constructor overloading in C# is used to define multiple constructors in a class with different sets of parameters to achieve polymorphism.\" \/>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/code-maze.com\/csharp-constructor-overloading\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Constructor Overloading in C# - Code Maze\" \/>\n<meta property=\"og:description\" content=\"Constructor overloading in C# is used to define multiple constructors in a class with different sets of parameters to achieve polymorphism.\" \/>\n<meta property=\"og:url\" content=\"https:\/\/code-maze.com\/csharp-constructor-overloading\/\" \/>\n<meta property=\"og:site_name\" content=\"Code Maze\" \/>\n<meta property=\"article:published_time\" content=\"2022-10-26T06:00:18+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2022-11-26T15:40:56+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/code-maze.com\/wp-content\/uploads\/2021\/12\/social-csharp.png\" \/>\n\t<meta property=\"og:image:width\" content=\"1100\" \/>\n\t<meta property=\"og:image:height\" content=\"620\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/png\" \/>\n<meta name=\"author\" content=\"Code Maze\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:creator\" content=\"@https:\/\/twitter.com\/CodeMazeBlog\" \/>\n<meta name=\"twitter:site\" content=\"@CodeMazeBlog\" \/>\n<meta name=\"twitter:label1\" content=\"Written by\" \/>\n\t<meta name=\"twitter:data1\" content=\"Code Maze\" \/>\n\t<meta name=\"twitter:label2\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data2\" content=\"5 minutes\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":[\"Article\",\"BlogPosting\"],\"@id\":\"https:\/\/code-maze.com\/csharp-constructor-overloading\/#article\",\"isPartOf\":{\"@id\":\"https:\/\/code-maze.com\/csharp-constructor-overloading\/\"},\"author\":{\"name\":\"Code Maze\",\"@id\":\"https:\/\/code-maze.com\/#\/schema\/person\/09d29b223012c8e94a68ba62861d0b04\"},\"headline\":\"Constructor Overloading in C#\",\"datePublished\":\"2022-10-26T06:00:18+00:00\",\"dateModified\":\"2022-11-26T15:40:56+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\/\/code-maze.com\/csharp-constructor-overloading\/\"},\"wordCount\":632,\"commentCount\":0,\"publisher\":{\"@id\":\"https:\/\/code-maze.com\/#organization\"},\"image\":{\"@id\":\"https:\/\/code-maze.com\/csharp-constructor-overloading\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/code-maze.com\/wp-content\/uploads\/2021\/12\/social-csharp.png\",\"keywords\":[\".NET\",\"constructor\",\"constructor overloading\"],\"articleSection\":[\"C#\"],\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\/\/code-maze.com\/csharp-constructor-overloading\/#respond\"]}]},{\"@type\":\"WebPage\",\"@id\":\"https:\/\/code-maze.com\/csharp-constructor-overloading\/\",\"url\":\"https:\/\/code-maze.com\/csharp-constructor-overloading\/\",\"name\":\"Constructor Overloading in C# - Code Maze\",\"isPartOf\":{\"@id\":\"https:\/\/code-maze.com\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\/\/code-maze.com\/csharp-constructor-overloading\/#primaryimage\"},\"image\":{\"@id\":\"https:\/\/code-maze.com\/csharp-constructor-overloading\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/code-maze.com\/wp-content\/uploads\/2021\/12\/social-csharp.png\",\"datePublished\":\"2022-10-26T06:00:18+00:00\",\"dateModified\":\"2022-11-26T15:40:56+00:00\",\"description\":\"Constructor overloading in C# is used to define multiple constructors in a class with different sets of parameters to achieve polymorphism.\",\"breadcrumb\":{\"@id\":\"https:\/\/code-maze.com\/csharp-constructor-overloading\/#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/code-maze.com\/csharp-constructor-overloading\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/code-maze.com\/csharp-constructor-overloading\/#primaryimage\",\"url\":\"https:\/\/code-maze.com\/wp-content\/uploads\/2021\/12\/social-csharp.png\",\"contentUrl\":\"https:\/\/code-maze.com\/wp-content\/uploads\/2021\/12\/social-csharp.png\",\"width\":1100,\"height\":620,\"caption\":\"C# Development\"},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/code-maze.com\/csharp-constructor-overloading\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\/\/code-maze.com\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Constructor Overloading in C#\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\/\/code-maze.com\/#website\",\"url\":\"https:\/\/code-maze.com\/\",\"name\":\"Code Maze\",\"description\":\"Learn. Code. Succeed.\",\"publisher\":{\"@id\":\"https:\/\/code-maze.com\/#organization\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\/\/code-maze.com\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"en-US\"},{\"@type\":\"Organization\",\"@id\":\"https:\/\/code-maze.com\/#organization\",\"name\":\"Code Maze\",\"url\":\"https:\/\/code-maze.com\/\",\"logo\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/code-maze.com\/#\/schema\/logo\/image\/\",\"url\":\"https:\/\/code-maze.com\/wp-content\/uploads\/2020\/01\/Code-Maze-Only-Logo-Transparent-HRez.png\",\"contentUrl\":\"https:\/\/code-maze.com\/wp-content\/uploads\/2020\/01\/Code-Maze-Only-Logo-Transparent-HRez.png\",\"width\":3511,\"height\":3510,\"caption\":\"Code Maze\"},\"image\":{\"@id\":\"https:\/\/code-maze.com\/#\/schema\/logo\/image\/\"},\"sameAs\":[\"https:\/\/x.com\/CodeMazeBlog\"]},{\"@type\":\"Person\",\"@id\":\"https:\/\/code-maze.com\/#\/schema\/person\/09d29b223012c8e94a68ba62861d0b04\",\"name\":\"Code Maze\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/code-maze.com\/#\/schema\/person\/image\/\",\"url\":\"https:\/\/code-maze.com\/wp-content\/uploads\/2020\/01\/Code-Maze-Only-Logo-Transparent-HRez-150x150.png\",\"contentUrl\":\"https:\/\/code-maze.com\/wp-content\/uploads\/2020\/01\/Code-Maze-Only-Logo-Transparent-HRez-150x150.png\",\"caption\":\"Code Maze\"},\"description\":\"This is the standard author on the site. Most articles are published by individual authors, with their profiles, but when several authors have contributed, we publish collectively as a part of this profile.\",\"sameAs\":[\"https:\/\/www.linkedin.com\/company\/codemaze\/\",\"https:\/\/x.com\/https:\/\/twitter.com\/CodeMazeBlog\"],\"url\":\"https:\/\/code-maze.com\/author\/codemazecontributor\/\"}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"Constructor Overloading in C# - Code Maze","description":"Constructor overloading in C# is used to define multiple constructors in a class with different sets of parameters to achieve polymorphism.","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":"https:\/\/code-maze.com\/csharp-constructor-overloading\/","og_locale":"en_US","og_type":"article","og_title":"Constructor Overloading in C# - Code Maze","og_description":"Constructor overloading in C# is used to define multiple constructors in a class with different sets of parameters to achieve polymorphism.","og_url":"https:\/\/code-maze.com\/csharp-constructor-overloading\/","og_site_name":"Code Maze","article_published_time":"2022-10-26T06:00:18+00:00","article_modified_time":"2022-11-26T15:40:56+00:00","og_image":[{"width":1100,"height":620,"url":"https:\/\/code-maze.com\/wp-content\/uploads\/2021\/12\/social-csharp.png","type":"image\/png"}],"author":"Code Maze","twitter_card":"summary_large_image","twitter_creator":"@https:\/\/twitter.com\/CodeMazeBlog","twitter_site":"@CodeMazeBlog","twitter_misc":{"Written by":"Code Maze","Est. reading time":"5 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":["Article","BlogPosting"],"@id":"https:\/\/code-maze.com\/csharp-constructor-overloading\/#article","isPartOf":{"@id":"https:\/\/code-maze.com\/csharp-constructor-overloading\/"},"author":{"name":"Code Maze","@id":"https:\/\/code-maze.com\/#\/schema\/person\/09d29b223012c8e94a68ba62861d0b04"},"headline":"Constructor Overloading in C#","datePublished":"2022-10-26T06:00:18+00:00","dateModified":"2022-11-26T15:40:56+00:00","mainEntityOfPage":{"@id":"https:\/\/code-maze.com\/csharp-constructor-overloading\/"},"wordCount":632,"commentCount":0,"publisher":{"@id":"https:\/\/code-maze.com\/#organization"},"image":{"@id":"https:\/\/code-maze.com\/csharp-constructor-overloading\/#primaryimage"},"thumbnailUrl":"https:\/\/code-maze.com\/wp-content\/uploads\/2021\/12\/social-csharp.png","keywords":[".NET","constructor","constructor overloading"],"articleSection":["C#"],"inLanguage":"en-US","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/code-maze.com\/csharp-constructor-overloading\/#respond"]}]},{"@type":"WebPage","@id":"https:\/\/code-maze.com\/csharp-constructor-overloading\/","url":"https:\/\/code-maze.com\/csharp-constructor-overloading\/","name":"Constructor Overloading in C# - Code Maze","isPartOf":{"@id":"https:\/\/code-maze.com\/#website"},"primaryImageOfPage":{"@id":"https:\/\/code-maze.com\/csharp-constructor-overloading\/#primaryimage"},"image":{"@id":"https:\/\/code-maze.com\/csharp-constructor-overloading\/#primaryimage"},"thumbnailUrl":"https:\/\/code-maze.com\/wp-content\/uploads\/2021\/12\/social-csharp.png","datePublished":"2022-10-26T06:00:18+00:00","dateModified":"2022-11-26T15:40:56+00:00","description":"Constructor overloading in C# is used to define multiple constructors in a class with different sets of parameters to achieve polymorphism.","breadcrumb":{"@id":"https:\/\/code-maze.com\/csharp-constructor-overloading\/#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/code-maze.com\/csharp-constructor-overloading\/"]}]},{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/code-maze.com\/csharp-constructor-overloading\/#primaryimage","url":"https:\/\/code-maze.com\/wp-content\/uploads\/2021\/12\/social-csharp.png","contentUrl":"https:\/\/code-maze.com\/wp-content\/uploads\/2021\/12\/social-csharp.png","width":1100,"height":620,"caption":"C# Development"},{"@type":"BreadcrumbList","@id":"https:\/\/code-maze.com\/csharp-constructor-overloading\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/code-maze.com\/"},{"@type":"ListItem","position":2,"name":"Constructor Overloading in C#"}]},{"@type":"WebSite","@id":"https:\/\/code-maze.com\/#website","url":"https:\/\/code-maze.com\/","name":"Code Maze","description":"Learn. Code. Succeed.","publisher":{"@id":"https:\/\/code-maze.com\/#organization"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/code-maze.com\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"en-US"},{"@type":"Organization","@id":"https:\/\/code-maze.com\/#organization","name":"Code Maze","url":"https:\/\/code-maze.com\/","logo":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/code-maze.com\/#\/schema\/logo\/image\/","url":"https:\/\/code-maze.com\/wp-content\/uploads\/2020\/01\/Code-Maze-Only-Logo-Transparent-HRez.png","contentUrl":"https:\/\/code-maze.com\/wp-content\/uploads\/2020\/01\/Code-Maze-Only-Logo-Transparent-HRez.png","width":3511,"height":3510,"caption":"Code Maze"},"image":{"@id":"https:\/\/code-maze.com\/#\/schema\/logo\/image\/"},"sameAs":["https:\/\/x.com\/CodeMazeBlog"]},{"@type":"Person","@id":"https:\/\/code-maze.com\/#\/schema\/person\/09d29b223012c8e94a68ba62861d0b04","name":"Code Maze","image":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/code-maze.com\/#\/schema\/person\/image\/","url":"https:\/\/code-maze.com\/wp-content\/uploads\/2020\/01\/Code-Maze-Only-Logo-Transparent-HRez-150x150.png","contentUrl":"https:\/\/code-maze.com\/wp-content\/uploads\/2020\/01\/Code-Maze-Only-Logo-Transparent-HRez-150x150.png","caption":"Code Maze"},"description":"This is the standard author on the site. Most articles are published by individual authors, with their profiles, but when several authors have contributed, we publish collectively as a part of this profile.","sameAs":["https:\/\/www.linkedin.com\/company\/codemaze\/","https:\/\/x.com\/https:\/\/twitter.com\/CodeMazeBlog"],"url":"https:\/\/code-maze.com\/author\/codemazecontributor\/"}]}},"_links":{"self":[{"href":"https:\/\/code-maze.com\/wp-json\/wp\/v2\/posts\/75983","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/code-maze.com\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/code-maze.com\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/code-maze.com\/wp-json\/wp\/v2\/users\/6"}],"replies":[{"embeddable":true,"href":"https:\/\/code-maze.com\/wp-json\/wp\/v2\/comments?post=75983"}],"version-history":[{"count":3,"href":"https:\/\/code-maze.com\/wp-json\/wp\/v2\/posts\/75983\/revisions"}],"predecessor-version":[{"id":76505,"href":"https:\/\/code-maze.com\/wp-json\/wp\/v2\/posts\/75983\/revisions\/76505"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/code-maze.com\/wp-json\/wp\/v2\/media\/62189"}],"wp:attachment":[{"href":"https:\/\/code-maze.com\/wp-json\/wp\/v2\/media?parent=75983"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/code-maze.com\/wp-json\/wp\/v2\/categories?post=75983"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/code-maze.com\/wp-json\/wp\/v2\/tags?post=75983"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}