リフレクションを使用してパラメータを指定してメソッドを呼び出す
リフレクション経由でパラメータを指定してメソッドを呼び出す場合、型の一致とオブジェクトの作成を確実に行うことが重要です。 「オブジェクトがターゲットの種類と一致しません」エラーは、通常、これら 2 つの側面の不適切な処理によって発生します。
この問題を解決するには、メソッドが呼び出されるオブジェクトがクラスのインスタンスであることを確認してください。提供されたコードでは、パラメータは classInstance
ではなく methodInfo
に渡される必要があります。
<code>result = methodInfo.Invoke(classInstance, parametersArray);</code>
この変更により、クラスのインスタンスが作成され、パラメーターがメソッドに正しく渡されます。
コードでは、Run
メソッドが文字列パラメーターで定義されている場合にのみ、Test("Run")
メソッドにアクセスできます。この定義が存在しない場合、「オブジェクトがターゲット タイプと一致しません」というエラーが発生します。
以上がリフレクションを使用してパラメーターを含むメソッドを呼び出すときに発生する「オブジェクトがターゲットの型と一致しません」エラーを解決するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。