Я использую методы страницы ASP.Net Ajax, и у меня есть проблема, что определение перечисления не отображается. Вот что у меня есть:
public class Contact
{
public string FirstName{get;set;}
public IList<PhoneNumber> PhoneNumbers{get;set;}
}
public class PhoneNumber
{
public string Number{get;set;}
public PhoneNumberType {get;set;}
}
public enum PhoneNumberType
{
Home,
Work,
Fax,
Cell
}
У меня тогда есть простой веб-метод, такой как:
[WebMethod]
public static Contact GetContact(Guid id)
{
return ....;
}
На стороне клиента я получаю класс MyNamespace.Contact; однако у меня нет
MyNamespace.PhoneNumber или MyNameSpace.PhoneNumberType. Я обнаружил, что если я явно добавляю фальшивые веб-методы, которые просто возвращают эти типы, то клиентские типы будут отображаться. Есть ли способ заставить это перечисление быть визуализированным другими, чем поддельные веб-методы?
Я хочу перечисление, потому что мне нужно пройти по этому списку <> и на основе PhoneNumberType сделать что-то другое. Я бы не стал жестко кодировать магические числа или жестко кодировать определение enum.