2009-05-13 2 views
1

Я применил метод переопределения ToString() для своего класса в своем веб-сервисе, и я возвращаю List<myObject>() в функцию у потребителя. Если я делаю .ToString(), он возвращает тип объекта. Как мне решить эту проблему на C#?ToString() в классе Webservice

Спасибо.

+0

Вы говорите, у вас есть метод .ToString(), которая не возвращает строку? Переименуйте его. –

+0

Нет, он возвращает тип объекта, если я использую его на странице .aspx. – Greens

+0

Я думаю, он говорит, что переопределение не работает корректно, когда он вызывает метод toString() в базовом классе. – mquander

ответ

3

При передаче объектов обратно & в веб-сервисе, это просто передача представлений XML об общедоступных свойствах этого объекта. Любые методы, переопределенные или нет, не приходят с ним.

Я рекомендовал бы сделать свойство StringRepresentation, вызывающую ToString()

public string StringRepresentation 
{ 
    get { return this.ToString(); } 
    set { /* Do Nothing, but there has to be a set */ } 
} 
+0

Могу ли я знать, почему это происходит. – Greens

+0

В принципе, вы можете передавать строки только через веб-сервис. Таким образом, он компилирует ваш объект в XML и передает XML вместо фактического объекта. –

+0

Спасибо. – Greens

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