私はとして定義されたクラスがあります。私はその行にブレークポイントを設定して、それが正常に動作クイックウォッチにthis->tickValue->ToString()
を貼り付ける場合はToStringメソッドを呼び出す小数点^指定されたキャストが無効()
public ref class MyParameters
{
private:
property Decimal^ tickValue;
public:
MyParameters(Decimal^ tickValue){
this->tickValue = tickValue;
}
std::string GetTickValue();
};
std::string MyParameters::GetTickValue()
{
String^ test = this->tickValue->ToString(); <--Invalid Cast here
return marshal_as<std::string>(test);
}
を!
コンストラクタの署名がMyParameters(ValueType^ tickValue)
に変更されましたか?
コードは正常に動作します。これはあなたが持っているコードとまったく同じですか?確かに、私はそれに構文エラーがあったからです。例外のスタックトレースは何ですか? 'decimal'をコンストラクタに渡していますか? – svick
'System :: Decimal'は値型であり、参照型ではありません。あなたが実際にここにボクシングしたい理由がない限り、すべてのDecimal ^をDecimalに変更してください。 – ildjarn