2013-05-06 2 views
-3

Я не уверен, почему возникает ошибка, если кто-то может понять, что будет здорово.метод переопределения имеет недопустимые аргументы

public List<ElementModelForCourseIndex> GetElementModelsForCourseIndex(int elementId, int userId, int depthLevel = 2) 
    { 
     List<ElementModelForCourseIndex> TypesName; 
     ElementType type = new ElementType(); 
     using (var db = DataContextManager.AleStoredProcsContext) 
     { 

      TypesName = db.GetElementModelsForCourseIndex<ElementModelForCourseIndex>(elementId, userId, r => new ElementModelForCourseIndex{ 
        Id = ElementsModelsForCourseIndexMap.Id(r), 
        Identity = ElementsModelsForCourseIndexMap.Identity(r) 
       }).OrderBy(n=>n.Identity).ToList(); 
     } 
     foreach (ElementModelForCourseIndex typeContent in TypesName) 
     { 
      typeContent.Children = GetElementChildrenModelsForCourseIndex(elementId, userId, type.ModelId, depthLevel); 
     } 
    } 

    public List<ElementModelForCourseIndex> GetElementChildrenModelsForCourseIndex(int elementId, int userId, ElementType typeId, int depthLevel = 2) 
    { 
     using (var db = DataContextManager.AleStoredProcsContext) 
     { 
      return db.GetElementWithCalendarAndPermsByModel<ElementModelForCourseIndex>(elementId, userId, typeId.Id, r => new ElementModelForCourseIndex 
      { 
       IdentityName = ElementsModelsForCourseIndexMap.IdentityName(r), 
       ValueString = ElementsModelsForCourseIndexMap.ValueString(r), 
       TimeReleased = ElementsModelsForCourseIndexMap.TimeReleased(r), 
       TimeDue = ElementsModelsForCourseIndexMap.TimeReleased(r) 
      }).OrderBy(i => i.IdentityName).ToList(); 
     } 
    } 

Ошибка в верхнем методе с этой строкой, которая должна возвращать инструкцию.

+2

Каков тип 'type.ModelId'. Метод ожидает 'ElementType'. –

+0

Какая ошибка вы получаете? –

+1

Возможный дубликат http://stackoverflow.com/questions/16390039/returning-two-sets-of-action-in-one-controller – gunr2171

ответ

1

Это должно быть

typeContent.Children = GetElementChildrenModelsForCourseIndex(elementId, 
         userId, type, depthLevel); 

Третий параметр является виновником. Он принимает ElementType и вы обеспечиваете type.ModelId (который я предполагаю, Integer)

+0

Я думаю, что у него есть перегрузка (вторая функция), которая допускает 4 аргумента. – gunr2171

+0

@ gunr2171: Повторите мой ответ. –

+0

это целое число, но когда я оставляю его как 'type', он подчеркивается и говорит, что' use unassigned variable' – Masriyah

1

Похоже, вам нужно пройти в type вместо type.ModelId - type является ElementType.

+0

Почему я получил downvoted? Замечу, что я не копировал; мой ответ был опубликован до того, как Никхил отредактировал свой ответ: «функция принимает только 3 аргумента» к тому, что она сейчас (что соответствует моему ответу - я предполагаю, что он пришел к тому же выводу, который я сделал после того, как он переоценил вопрос). – Gjeltema

+0

был не мной ...... – Masriyah

+0

Я обновил свой пост – Masriyah

Смежные вопросы