我們是Glass mapper的新手,並希望在我們的Sitecore項目中使用它。在查看我們注意到的教程時,沒有深入介紹如何設置Sitecore允許的深層繼承。在瀏覽網頁時,我們注意到有人在將接口屬性放在接口上,另一方面有人將屬性放在具體的類上。這些例子都沒有解釋他們這樣做的充分理由,但留給我們的是這樣一個問題:哪一個是正確的使用方法?做一個或另一個的影響是什麼?Sitecore Glass Mapper:接口或具體類的屬性?
考慮以下幾點:
模板:內容(這是一個場段模板添加2個簡單的字段:標題,正文) 此模板由我們的很多模板,直接和間接地繼承。
現在在我們的一個sublayouts中,我們只使用這一部分,它是一種更一般的控制,因此我們需要做:GetCurrentItem<Content>
或GetCurrentItem<IContent>
。
就我個人而言,我發現GetCurrentItem<IContent>
更直觀,因爲它感覺像問:「給我目前的項目,如果它支持內容部分」,其他感覺更像「給我當前項目,如果它是內容部分」(這在技術上是不可能的,因爲內容項目從未被創建)
謝謝,這是我正在尋找的解釋。我希望未來能夠更好地記錄推斷類型的功能。 – IvanL
您可以使用擴展方法向接口添加其他邏輯。當然,這並不理想。 – Iucounu
第一個鏈接被破壞,你知道是否有新的鏈接? –