0
A
답변
0
.Net에서 "값 유형에 대한 유형화 된 참조"개념이 없습니다. * Decimal^
은 정확히 그 것이므로 올바르게 컴파일 할 수 없습니다. 알다시피, 컴파일러는 대신 ValueType^
매개 변수를 만듭니다.이 매개 변수는 .NET 형식 시스템에서 Decimal^
에 가장 가까운 것입니다. 또한 일부 메타 데이터를 추가하여 C++/CLI에서 생성자를 호출 할 때 박스형 Decimal
만 전달할 수 있습니다.
그러나 다른 언어는 해당 메타 데이터를 이해하지 못하므로 표시된 모든 내용은 ValueType
입니다. 내가 int
하지 decimal
전달
new MyParameters(42)
공지 사항 : 그것은이 같은 말에서 생성자, C 번호를 호출 할 수 있습니다 그것은 잘 작동 것을 의미한다. 이 int
은 tickValue
필드에 저장됩니다 (실제로는 ValueType^
임). 실제로 그 값을 Decimal^
으로 사용할 때만 InvalidCastException
이됩니다.
이 문제를 해결하는 가장 쉬운 방법은 값 유형에 대한 참조를 사용하는 것이 아닙니다. 즉, Decimal^
대신 Decimal
을 사용하면 모든 것이 올바르게 작동합니다.
* 엄밀히 말하면 TypedReference
이지만 정상적인 용도로 사용하지는 않습니다.
관련 문제
- 1. toString는
- 2. 구현 toString는
- 3. NLogConfigurationException - 'System.String'에서 'System.Uri'로의 잘못된 캐스트
- 4. 잘못된 캐스트 예외 C# ASP.Net은
- 5. .NET에서 잘못된 캐스트 예외가 발생했습니다.
- 6. UDP 멀티 캐스트 수신기가 잘못된 멀티 캐스트 그룹에서 메시지를 가져옵니다.
- 7. 두 클래스에 대한 잘못된 캐스트 예외
- 8. 레일 - 단일 테이블 상속 - 잘못된 캐스트 방법?
- 9. 필드 <t> 잘못된 캐스트
- 10. WPF C# 실제 TreeNode를 확장합니다. 잘못된 캐스트
- 11. SQL Server 2005의 조립이 잘못된 캐스트
- 12. C# : HttpRuntime.Cache가 잘못된 캐스트 예외를 생성합니다.
- 13. D3DERR_INVALIDCALL : 잘못된 호출 (-2005530516)
- 14. 잘못된 스레드 예외에서 호출 됨
- 15. 캐스트
- 16. 캐스트
- 17. 캐스트
- 18. 캐스트 :
- 19. twitter 친구의 nextpage를 가져올 때 잘못된 캐스트 예외가 발생했습니다.
- 20. 잘못된 네트워크 인터페이스에 대한 MSMQ 멀티 캐스트 (PGM) 바인딩
- 21. 데이터를 Cocoa Quartz 이벤트 탭 콜백으로 전달 - void에서 잘못된 캐스트 *
- 22. VB.Net에서 LINQ와 데이터 집합의 정밀 문제 - 이중 잘못된 캐스트 예외
- 23. 집합이나 백 계단식을 사용할 때 잘못된 캐스트 예외 오류가 발생했습니다.
- 24. "편집기"컨텍스트에서 과수원 파트를 렌더링하는 동안 잘못된 캐스트 예외가 발생했습니다.
- 25. 정적 캐스트 대 동적 캐스트
- 26. Zend mysql을 통한 캐스트 캐스트
- 27. 자동 캐스트
- 28. 뭔가 내 생성자에 문제가 있습니다 - ToString는 반환 유지 널
- 29. VB 컬렉션에서 Int로 캐스트
- 30. P/GetSystemTime을() 메소드가 잘못된 출력을주고있다 호출
코드가 제대로 작동합니다. 이 코드가 정확히 당신이 가지고있는 코드인가? 특히 구문 에러가 있기 때문에 그렇습니까? 예외의 스택 추적은 무엇입니까? 당신은 생성자에게'decimal'을 전달하고 있습니까? – svick
'System :: Decimal'은 참조 유형이 아닌 값 유형입니다. 실제로 여기에 권투를하고 싶은 이유가 없으면 모든 Decimal ^을 Decimal로 변경하십시오. – ildjarn