2016-07-04 1 views
0

으로 아이템을 얻기 위해 실패합니다. 내가 IGlass_Base 개체로 항목을 얻을 때GlassMapper를 GetItem <T>() 메소드는 내가 다음과 같이 GlassMapper를 사용하여 항목을 얻으려고 특정 유형의

, 작동 :

var myCustomObj=SitecoreContext.GetItem<IGlass_Base>(itemId); 

편집 : 다음은 IMy_Custom_Type 보이는 방법입니다

/// <summary> 
    /// IMy_Custom_Type Interface 
    /// <para></para> 
    /// <para>Path: /sitecore/templates/User Defined/###/Pages/My Custom Type</para>  
    /// <para>ID: dfacd744-0cf8-4917-922c-4baeb07dfe35</para> 
    /// </summary> 
    [SitecoreType(TemplateId=IMy_Custom_TypeConstants.TemplateIdString, AutoMap = true)] //, Cachable = true 
    public partial interface IMy_Custom_Type : IGlassBase , global::SC.Global.Models.TemplateModels.Base_Templates.IMetadata, global::SC.Global.Models.TemplateModels.Base_Templates.IBase_Background_Image 
    { 
     /// <summary> 
     /// The My Custom field. 
     /// <para></para> 
     /// <para>Field Type: Multilist</para>  
     /// <para>Field ID: 43388fa5-a02a-425d-ae31-d94a12860748</para> 
     /// <para>Custom Data: </para> 
     /// </summary> 
     [SitecoreField(IMy_Custom_TypeConstants.MyCustomFieldName)] 
     IEnumerable<Guid> My_Custom_Field {get; set;} 
     : 
     : 
     // Few more fields   

    } 
+0

는'templateID'인가 또는'itemID'은? 'IMy_Custom_Type'의 코드는 무엇입니까? –

+0

특정 유형 대신 var를 사용하면 도움이되지 않습니다. – pijemcolu

+0

itemID입니다. IMy_Custom_Type은 TDS를 사용하여 생성 된 인터페이스입니다. – Vikram

답변

0

만들기 클래스가 인터페이스를 구현 My_Custom_Type라고 IMy_Custom_Type 다른 인터페이스의 모든 속성을이 클래스에 추가합니다.

public class My_Custom_Type : IMy_Custom_Type 
{ 
// IMy_Custom_Type properties 
// IGlassBase properties 
// IMetadata properties 
// IBase_Background_Image properties 
} 

다음과 같은 개체를 캐스팅해야 할 :

var myCustomObj=SitecoreContext.GetItem<My_Custom_Type>(itemId); 
+1

TDS 생성 Glass 모델을 사용하는 것처럼 보이므로 구체적인 구현도 생성됩니다 (기본적으로). 하지만 인터페이스도 작동해야하며 인터페이스를 기준으로 코딩하는 것이 더 좋습니다. – jammykam

+0

우리는 인터페이스의 구현을 가지고 있습니다 (TDS를 통해 자동 생성 됨). – Vikram