我正在尝试将肥皂消息发送到外部系统,该系统已经具有预定义的数据类型,我必须使用数组和枚举器将其集成到我的代码中。
我的问题是枚举变量给了我以下错误:
错误 1 无法将类型“UpdateRatePacks._Default.Rate.AvailAppType”隐式转换为“UpdateRatePacks.IService.AvailAppType?”。存在显式转换(您是否缺少演员表?)
错误说它无法将我页面上的类型转换为我的 web 服务上的类型,但是数据结构是相同的,我错过了什么吗?
我到处搜索了这个错误,也搜索了 Web 服务中的枚举器、数组中的枚举器、将枚举器转换为数组,但没有任何效果。错误仍然相同。
甚至包括这行代码用于解析转换:
ureq.RatePackages[2].Rates[1].AvailabilityApplicationType = Rate.AvailAppType)Enum.Parse(typeof(Rate.AvailAppType), val);
这段代码的复杂性在于它在数组中包含枚举器,所以我不知道我是在枚举器中出错还是在数组本身或整个 Web 服务中出错。
这是我的代码的一部分,它将更新作为错误来自的消息发送
protected void SendSoapMessage()
{
Rate.AvailabilityApplicationType val = Rate.AvailAppType.SET;
ureq.RatePackages[1].Rates[0].AvailAppType = val;
ureq 是我发送到的 web 服务中的 UpdateRatePacks 方法
下面定义的类/对象:
public class UpdateRatePacks
{
public string Username;
public string Password;
public UpdateRatePack[] RatePackages;
}
public class UpdateRatePack
{
public Int64 RatePackageId;
public Rate[] Rates;
}
public class Rate
{
public enum AvailAppType { SET , INCREASE, DECREASE };
}
任何建议将不胜感激。