私はC#アプリケーションを使用して作業を行い、AXを使って結果をサービス経由で返送しています。オブジェクトタイプを確認する
AXでいくつかのクラスを作成し、そのインスタンスをC#で使用した後、古典的な配列の助けを借りてオブジェクトを送り返します。 AXで
私はSystem.Collections.ArrayList
で何かを受信して、ここでの私の質問が来る:
は、どのように私は、このコレクションを反復処理すると、オブジェクトの種類を確認することができますか?
for (...)
{
if (arr[i] is SalesLineCSharp)
{
}
else if (arr[i] is SalesTableCSharp)
{
}
//etc....
}
is
またはas
ような何か?
私はただの例を作り、これを試してみた..私はクラスの名前を取得し、文字列とint型のために、私はCLRObjectを得るが、それはそんなに悪く見えますカスタムタイプのために実際に
info(strFmt("%1", classId2Name(classIdGet(arr.get_Item(i)))));
。
これを行うにはよりクリーンな方法がありますか?
ような何かを行うことができるはず。私は本当にこのメッセージにどのように対処するのか分かりません。 –
get_Itemの戻り値を 'Object'型の中間変数に代入し、このvarを使用して型をチェックするとどうなりますか?多分オート。 .NETとX ++の間のマーシャリングは直接処理できません – DAXaholic
これはうまくいきます。どうもありがとう! –