2015-01-12 2 views
0

목록을 Ilist로 변환하려면 어떻게해야합니까?필터 목록 변환 Telerik?

public IList<Kendo.Mvc.IFilterDescriptor> GetFilters() 
{ 
    List<Kendo.Mvc.FilterDescriptor> filters = new List<Kendo.Mvc.FiterDescriptor>(); 

    filters.Add(new Kendo.Mvc.FilterDescriptor("Column", Kendo.Mvc.FilterOperator.Contains, "1")); 

    return filters; 
} 

그리고 그것은 나에게이 오류 제공 : 는 구체적으로이 코드입니다. "는 암시 적으로 'System.Collections.Generic.IList'에 유형 'System.Collections.Generic.IList을'변환 할 수 없습니다를 명시 적 변환이 존재합니다 (캐스트가 누락 되었습니까?) "

답변

0

답변을 찾았습니다.

public IList<Kendo.Mvc.IFilterDescriptor> GetFilters() 
{ 
    List<Kendo.Mvc.FilterDescriptor> filters = new List<Kendo.Mvc.FiterDescriptor>(); 

    filters.Add(new Kendo.Mvc.FilterDescriptor("Column", Kendo.Mvc.FilterOperator.Contains, "1")); 

    IList<Kendo.Mvc.IFilterDescriptor>() iFilters = new List<Kendo.Mvc.IFilterDescriptor>(); 

    foreach(var filter in filters) 
    { 
     Kendo.Mvc.IFilterDescriptor temp = null; 
     temp = filter; 

     if(temp is Kendo.Mvc.FilterDescriptor) 
     { 
      iFilters.Add(temp); 
     } 
    } 

    return filters; 
} 
1

당신은 실제로 다음과 같이 매우 간단하게이 작업을 수행 할 수 있습니다

public IList<Kendo.Mvc.IFilterDescriptor> GetFilters() 
{ 
    IList<Kendo.Mvc.IFilterDescriptor> filters = new List<Kendo.Mvc.IFilterDescriptor>(); 

    filters.Add(new Kendo.Mvc.FilterDescriptor("Column", Kendo.Mvc.FilterOperator.Contains, "1")); 

    return filters; 
} 

이 작동하는 이유 때문에 우리는 나머지 코드를 입력 한 다음 '은 IList'의 객체를 생성에 모든 인터페이스를 확장하기 때문에 준수해야합니다.

희망이 도움이됩니다. :)

+0

사실 당신은 할 수 없습니다. 귀하의 코드는 제 질문의 코드와 동일하며 귀하의 코드는 예외를 던집니다. – CalinCosmin