0

我正在尝试在 GP Web 服务中创建一个客户,我遇到了客户类的 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;

非常感谢您的时间和脑力。

4

1 回答 1

1

枚举类型提供了一种方便的方法来定义具有值的命名常量。在这种情况下,OpenItem = 0 和 BalanceForward = 1。

你像这样设置一个枚举:

customerObj.BalanceType = BalanceType.OpenItem;

我会将代码中的属性更改为 BalanceType ,如下所示:

public BalanceType balanceType;

这样,您就无需在整数和枚举类型之间进行强制转换。您将能够轻松设置它:

customerObj.BalanceType = balanceType;

如果您确实需要从整数转换为枚举类型,请参阅此相关问题

于 2013-05-14T13:40:51.353 回答