2013-05-14 5 views
0

GP 웹 서비스에서 고객을 만들려고하고 있는데 Customer 클래스의 BalanceType 속성을 발견했습니다. 그 값을 설정하는 방법을 모르겠습니다. 나는 그것이 "0"또는 "1"값의 정수가 될 것을 기대했지만, "암시 적으로 유형 'int'를 [...]. BalanceType"으로 변환 할 수 없습니다.Dynamics GP 웹 서비스의 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 웹 서비스 클래스 객체입니다 다음 나는이 방법의 속성을 가진 클래스가 있습니다.

customerObj.BalanceType = _customer.balanceType; 

시간과 지력이 크게 높아집니다.

답변

1

열거 형은 명명 된 상수를 값으로 정의하는 편리한 방법을 제공합니다. 이 경우, OpenItem = 0 BalanceForward =

1. 당신은 다음과 같이 열거을 설정

customerObj.BalanceType = BalanceType.OpenItem; 

가 나는 또한과 같이 BalanceType의 것으로 코드에서 속성을 변경합니다 :

public BalanceType balanceType; 

그런 식으로 integer와 열거 형 사이에서 캐스팅 할 필요가 없습니다. 당신은 쉽게 설정할 수 있습니다 : 당신은 정수에서 열거 형으로 캐스팅해야합니까

customerObj.BalanceType = balanceType; 

경우,이 related question를 참조하십시오.