{"id":389,"date":"2016-04-08T09:59:44","date_gmt":"2016-04-08T07:59:44","guid":{"rendered":"http:\/\/blog.ghbss.de\/?p=389"},"modified":"2016-09-26T01:05:52","modified_gmt":"2016-09-25T23:05:52","slug":"displayname","status":"publish","type":"post","link":"https:\/\/blog.ghbss.de\/?p=389","title":{"rendered":"DisplayName"},"content":{"rendered":"<p>Ich benutze sehr gerne &#8222;CodeFirst&#8220; f\u00fcr Erstellung meine Applikationen.<\/p>\n<p>F\u00fcr Properties von&nbsp; Models(Entities) kann ich dann da ein Attribute definieren indem ich einen String f\u00fcr Anzeige festlegen kann. Hier ein Beispiel:<\/p>\n<pre class=\"EnlighterJSRAW\" data-enlighter-title=\"Class1\" data-enlighter-language=\"csharp\">class Class1 {\n   [DisplayName(\"Name of Class1\")]\n   public string Name { get; set; }\n}<\/pre>\n<p>Es funktioniert auch soweit ganz gut , bis man auf Idee kommt , die Modelklassen von einander abzuleiten. Jeder Ableitung von Class1 w\u00fcrde jetzt &#8222;Name of Class1&#8220; als &#8222;DisplayName&#8220; zur\u00fcckliefen.<\/p>\n<p><!--more--><\/p>\n<h1>L\u00f6sung<\/h1>\n<p>Stelle dir vor folgende Situation:<\/p>\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"csharp\">class Class2:  Class1 {\n   [DisplayName(\"Class2 Vorname\")]\n   public string Vorname { get; set; }\n}<\/pre>\n<p>Jetzt wird &#8222;Name of Class1&#8220; f\u00fcr &#8222;Name&#8220; &#8211; Property und &#8222;Class2 Vorname&#8220; f\u00fcr Vorname benutzt. Hier m\u00f6chte ich aber z.B. f\u00fcr &#8222;Name&#8220; auch &#8222;Class2 Name&#8220; angezeigt bekommen.<br \/>Aber da &#8222;Name&#8220; geerbt wurde kann ich diese Attribute nicht mehr \u00fcberschreiben. Da hilft &#8222;MetadataType&#8220;-Attribute . Hier wie man damit solche Attribute \u00fcberschreiben kann.<\/p>\n<pre class=\"EnlighterJSRAW\" data-enlighter-title=\"Class2\" data-enlighter-language=\"csharp\">[MetadataType(typeof(Class2Metadata)]\nclass Class2 : class1 {\n   \n   class Class2Metadata {\n      [DisplayName(\"Class2 Name\")]\n      public string Name {get; set;}\n   }\n\n   [DisplayName(\"Class2 Vorname\")]\n   public string Vorname {get;set;}\n}<\/pre>\n<p>Jetzt soll es funktionieren.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Ich benutze sehr gerne &#8222;CodeFirst&#8220; f\u00fcr Erstellung meine Applikationen. F\u00fcr Properties von&nbsp; Models(Entities) kann ich dann da ein Attribute definieren indem ich einen String f\u00fcr Anzeige festlegen kann. Hier ein Beispiel: class Class1 { [DisplayName(&#8222;Name of Class1&#8220;)] public string Name { get; set; } } Es funktioniert auch soweit ganz gut , bis man auf [&hellip;]<\/p>\n","protected":false},"author":2,"featured_media":0,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[8],"tags":[],"class_list":["post-389","post","type-post","status-publish","format-standard","hentry","category-asp-net"],"_links":{"self":[{"href":"https:\/\/blog.ghbss.de\/index.php?rest_route=\/wp\/v2\/posts\/389","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/blog.ghbss.de\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/blog.ghbss.de\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/blog.ghbss.de\/index.php?rest_route=\/wp\/v2\/users\/2"}],"replies":[{"embeddable":true,"href":"https:\/\/blog.ghbss.de\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=389"}],"version-history":[{"count":10,"href":"https:\/\/blog.ghbss.de\/index.php?rest_route=\/wp\/v2\/posts\/389\/revisions"}],"predecessor-version":[{"id":484,"href":"https:\/\/blog.ghbss.de\/index.php?rest_route=\/wp\/v2\/posts\/389\/revisions\/484"}],"wp:attachment":[{"href":"https:\/\/blog.ghbss.de\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=389"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/blog.ghbss.de\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=389"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/blog.ghbss.de\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=389"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}