2013-07-30 3 views
0

У меня есть длл третья сторона добавила в мой веб application.one функции выглядит следующим образомне может понять, как вызвать эту функцию

public InterestCategory[] gvc(string st) 
{ 
    object[] results = this.Invoke("getit", new object[] { 
        st}); 
    return ((InterestCategory[])(results[0])); 
} 

, как вы можете видеть, функция возвращает InterestCategory[] .Когда я проверил (GoToDefinition) InterestCategory Я могу видеть это

public partial class InterestCategory 
{ 
    private string descriptionField; 
    public string Description 
    { 
     get 
     { 
      return this.descriptionField; 
     } 
     set 
     { 
      this.descriptionField = value; 
     } 
    } 
} 

и теперь в моем коде я пытаюсь вызвать эту функцию, как этот

API.InterestCategory IC = new API.InterestCategory(); 
    IC = api.gvc(st); 

он выдает ошибку, как этот

Cannot implicitly convert type 'API.InterestCategory[]' to 'API.InterestCategory' 

Может ли одно сказать мне, что это правильная процедура вызвать эту функцию

+2

Посмотрите на тип возврата 'InterestCategory []' теперь посмотрите, что вы устанавливаете возвращаемое значение в 'InterestCategory'. Теперь посмотрим на сообщение об ошибке: 'Невозможно неявно преобразовать тип 'API.InterestCategory []' в 'API.InterestCategory''. Теперь должно быть очевидно, что вам нужно сохранить возвращаемое значение в 'InterestCategory []' .. – dtsg

+1

+1 Поскольку вопрос был отклонен, но быть noob следует недооценивать. –

ответ

2

Вы указали неправильный тип переменной. Вы сказали компилятору, что хотите создать одну переменную типа InterestCategory, когда функция возвращает массив, InterestCategory[].

Изменить код этого и он должен работать нормально:

API.InterestCategory[] ICs; 
ICs = api.gvc(securityToken); 
2

IC должен быть массивом Api.InterestCategory. Вместо этого вы объявляете переменную как Api.InterestCategory. Попробуйте:

Api.InterestCategory[] IC = api.GetValidInterestsCategories(securityToken); 
1

API.InterestCategory IC = new API.InterestCategory();

так печатая

IC = api.gvc является ошибкой, потому что ИК InterestCategory не InterestCategory[]

Try:

var IC = api.gvc(securityToken) 
2

Метод возвращает массив, так что вы м ust присваивает результат переменной правильного типа:

InterestCategory[] ics = api.gvc(securityToken); 
0

привет вы делаете все правильно, но проблема, которую вы получаете из-за несоответствия типа возвращаемого значения и переменной, в которой вы хотите сохранить его. .i не знаю, почему вы не в состоянии понять эту проблему .. это относится к основам программирования .. так и сделайте это.

api.InterestCategory[] ic = api.gvc(securityToken); 
Смежные вопросы