我正在尝试在GP Web服务中创建一个Customer,我在Customer类上遇到了BalanceType属性,但我不知道如何设置它的值。我期待它是一个值为0或1的整数,但是我收到一个“不能隐式转换类型'int'到[...]。BalanceType”。
这是它的定义。我认为问题在于我一般缺乏C#和.NET的经验,特别是枚举类型。
public enum BalanceType : int {
[System.Runtime.Serialization.EnumMemberAttribute(Value="Open Item")]
OpenItem = 0,
[System.Runtime.Serialization.EnumMemberAttribute(Value="Balance Forward")]
BalanceForward = 1,
}
在我的代码中,我有一个属性
的类public int balanceType
稍后在一个方法中,我有以下内容:_customer是我传入的参数对象,而customerObj是Web服务类对象。
customerObj.BalanceType = _customer.balanceType;
非常感谢您的时间和智慧。
答案 0 :(得分:1)
枚举类型提供了一种使用值定义命名常量的便捷方法。在这种情况下,OpenItem = 0和BalanceForward = 1.
你设置这样的枚举:
customerObj.BalanceType = BalanceType.OpenItem;
我会将代码中的属性更改为BalanceType,如下所示:
public BalanceType balanceType;
这样就可以避免在整数和枚举类型之间进行转换。您将能够轻松设置它:
customerObj.BalanceType = balanceType;
如果您确实需要从整数转换为枚举类型,请参阅此related question。