我正在使用 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。我发现如果我显式添加只返回这些类型的虚假网络方法,那么客户端类型就会被呈现。有没有办法强制将该枚举呈现为假网络方法?
我想要枚举,因为我需要遍历 List<> 并基于 PhoneNumberType 做一些不同的事情。我宁愿不硬编码幻数或硬编码枚举定义。