2016-12-08 8 views
1

自分のクラスの親クラスにこのようなプロパティがあるかどうかをチェックしたいと思います。そしてもしそうなら、それにアクセスするよりも。SVクラスプロパティの存在を確認する方法

if ($cast(this.get_parent(), agent_inst) && agent_inst != "NULL") 
     if (agent_inst.vitf != "NULL") 
      vitf = agent_inst.vitf; 

agent_instにvitfプロパティがない場合、シミュレータはエラーを表示します。 agent_instにvitfプロパティがあるかどうかを確認する方法は?

ありがとうございます。

答えて

1

あなたには$ castの引数があります。最初の引数はターゲット変数で、2番目の引数はsourceです。 $ castが動作する方法は、agent_instのクラスタイプがvitfのプロパティであると宣言したはずです。ソースオブジェクトがターゲットと型互換性がある場合、$ castは実行時にのみ成功します。 agent_inst.vitfが存在しない限り、コードはコンパイルされません。

+0

はい、ありがとう、答えは 私はagent_instがvitfオブジェクトを持っていなくても、もっと一般的なコードを書こうと思っていました。そのような場合、$ castは役に立ちません – haykp

+0

より一般的なコードが必要な場合は、vitfプロパティを持つエージェント基本クラスを定義し、ジェネリックエージェントが持つべきその他のものを定義します。 –

関連する問題