より特定のクラスに変換関数
- 更新日2025-07-30
- 5分で読める
制御器またはタイプ定義などのリファレンスを継承階層のより特定のクラスまたはインタフェースに型変換します。
たとえば、クラスAがクラスBから継承する場合、タイプBの変数はタイプAの値を保持できます。関数を使用して、タイプBからタイプAにダウンキャストできます。型変換が無効の場合、この関数は実行時にエラーを返します。
VIサーバrefnum、.NET/ActiveX refnum、LabVIEWクラス/インタフェースなど、LabVIEWで任意のクラス階層を型変換するために、「より特定のクラスに変換」関数を使用できます。

入力/出力
ターゲットクラス
—
ターゲットクラスはリファレンスをダウンキャストするクラスまたはインタフェースです。 You can wire a クラス指定子定数 or any wire of the target type to this input.
リファレンス
—
リファレンスはダウンキャストするRefnumまたはLabVIEWのクラス/インタフェースです。
エラー入力
—
エラー入力は、このノードを実行する前に発生したエラーの状態を示します。この入力は、標準エラー入力として機能します。
特定クラスのリファレンス
—
特定クラスのリファレンスは、ダウンキャストリファレンスです。 If the ターゲットクラス is incompatible with the リファレンス, the function returns an error and 特定クラスのリファレンス is 非Refnum.
エラー出力
—
エラー出力には、エラー情報が含まれます。この出力は、標準エラー出力として機能します。 |
「より特定のクラスに変換」関数を使用して、リファレンスよりも特定のクラス/インタフェースのプロパティまたはメソッドを操作できます。たとえば、ブール、数値、文字列制御器へのリファレンスの配列を作成した場合、配列には1つのデータタイプのみ含めることが可能で、これらの制御器のそれぞれは制御器クラスのメンバーであるため、LabVIEWはこれらのリファレンスをより一般的な制御器クラスに型変換します。配列のブール制御器のみのプロパティを操作する場合、配列へのリファレンスを作成して、「より特定のクラスに変換」関数を使用して配列リファレンスをブールクラスへダウンキャストできます。
VI refnumをリファレンス、「外観」VIをターゲットクラスに配線して、VIから「外観」VIにダウンキャストします。
また、データ値リファレンスを使用して、クラスをダウンキャストすることもできます。「より特定のクラスに変換」関数は、リファレンスがダウンキャストに使用できるようになるまで実行を待機します。クラス/インタフェースをダウンキャストするには、ターゲットクラス/インタフェースのデータ値リファレンスをターゲットクラスに配線します。
関連情報
FPGAモジュールの詳細
以下の説明は、このオブジェクトをFPGA VIで使用する場合に適用されます。
| シングルサイクルタイミングループ | サポートあり |
| Usage | なし |
| タイミング | このクラスタ&クラス関数は、内部レジスタを持たないため実行クロックサイクルを必要としません。 |
| リソース | LabVIEWはFPGA VIをコンパイルする前に実際のクラスを決定し、スタティックリファレンスを作成するため、このクラスタ&クラス関数はFPGAリソースを必要としません。 |
サンプルプログラム
LabVIEWに含まれている以下のサンプルファイルを参照してください。
- labview\examples\Application Control\VI Server\To More Specific Class\To More Specific Class.vi
ターゲットクラス
—
エラー入力
—
特定クラスのリファレンス
—
エラー出力
—