メソッドシグネチャにパラメータを一致させる -- java フィールド と spring フィールド と reflection フィールド 関連 問題

Match parameters to method signature












0
vote

問題

日本語

私は呼び出されるメソッドの Method List<Object> を持っています。ただし、パラメータのリストは正しい順序ではなく、メソッドシグネチャに一致する十分なパラメータが多すぎる場合があります。

ホイールを再発明する前に、メソッドのリストを持つメソッドを呼び出す機能が存在し、それが可能な限り最良の方法で、メソッドのシグネチャのパラメータ...さまざまなもの?

英語

I have a Method and a List<Object> of parameters for the method to be invoked with. However the list of parameters may not be in the correct order and may include too many/not enough parameters that match the method signature.

Before I reinvent the wheel, does a function exist to invoke the method with the list of parameters I have and it match, as best it can, the parameters to the method signature...maybe something in Spring?

</div
        

回答リスト

1
 
vote

いいえ、あなたの問題を解決するための任意の実装では、 Method List<Object> のプロバイダーのみが必要となる外部情報が必要です。

のような方法でp> <事前> <コード> void method (String name, String city, String parent) {}

と<コード> List

<事前> <コード> "Sotirios", "New York", "Alexander"

各引数は Method#invoke(..)

にある場合

あなただけがその情報を知ることができます。

 

No, any implementation to solve your problem would need external information that only the provider of the Method and List<Object> would have.

With a method like

void method (String name, String city, String parent) {} 

and a List

"Sotirios", "New York", "Alexander" 

where would each argument go in the Method#invoke(..)?

Only you can know that information.

</div
 
 
   
   
-2
 
vote

あなたのメソッドに直接あなたのメソッドに渡すか、メソッドオーバーロード

メソッドのオーバーロードは役に立ちますが、引数が順不同の場合は、本当にオプションではありません。事前にオブジェクトのリストを並べ替えることができる場合は、オプションである可能性があります。

しかし、あなたのオブジェクトのリストを渡す最も簡単な方法は、事前にそれを壊そうとするのではなくリスト自体を渡すことです。この場合、メソッド内部に一度だけリストを分割するようにロジックを作成する必要があります。この場合も、リストに正確に含まれているものを調べるためのより多くのテスト機能を提供します。

 

You can either pass the list to your method directly or use method overloading.

method overloading can be useful, but wouldn't really be an option if your arguments are out of order. If you can sort your list of objects beforehand then it may be an option.

In my mind however, the simplest way to pass your list of objects is to pass the list itself instead of trying to break it up beforehand. In this case you would need to write out your logic to break up the list once inside the method. This case would also provide you with more testing capability to find out what exactly is contained in your list.

</div
 
 

関連する質問

3  オープンジェネリックメソッドのMethodInfoを取得する良い方法はありますか?  ( Is there a good way of getting methodinfo of open generic method ) 
このようなタイプを検討する <事前> <コード> public interface IHaveGenericMethod { T1 Method<T1>(T1 parm); T2 Method<T1,T2>(T1 parm); int Met...

793  タイプから新しいオブジェクトインスタンスを作成する方法  ( How to create a new object instance from a type ) 
は、コンパイル時にオブジェクトの Type を必ずしも知っているとは限りませんが、 Type のインスタンスを作成する必要があるかもしれません。 <コード> Type から新しいオブジェクトインスタンスを取得しますか? ...

2  ユニバーサル反射API?  ( A universal reflections api ) 
少し戻ってきたコードを処理したアルゴリズムに取り組んで、反射APIが必要です。私たちは複数の言語の実装に興味がありましたが、言語のためのReflections APIは他の言語では機能しませんでした。だから、すべての言語に勤めている「ユニバーサルリフレクスAP...

0  Java:実行履歴をXMLとしてロギングします  ( Java logging execution history as xml ) 
デバッグ目的のために、クラス内で、いくつかのコードの実行に従う必要があります。 のようなXMLでは、すべてのメソッド呼び出しのログを生成したいと思います。 <事前> <コード> <call class='pack.age.MyClass' method='my...

1  反射を介してインターフェースタイプのコンストラクタを取得するには、タイプをループするよりも優れたアプローチがありますか?  ( Getting the constructor of an interface type through reflection is there a bett ) 
汎用型: IDirectorySource<T> where T : IDirectoryEntry 。 IGroup 、<コード>、<コード>、<コード> IOrganizationalUnit >、<コード> IGroup8 。 次のことを書くことができ...

3  要素と属性を表すSimplexMLオブジェクトをアパクトに伝える方法  ( How to tell apart simplexml objects representing element and attribute ) 
任意の SimplexMLオブジェクトを特定の方法で印刷する必要があります。 問題は、SimplexML要素と属性が正確なクラスを正確に使用するように見えます。属性ノードは、 9988777661 メソッドをサポートするふりをしたり、SimplexMLがその...

21  基本クラス静的メソッドから派生クラスタイプを取得する  ( Get derived class type from a bases class static method ) 
基本クラスの静的メソッドから派生クラスのタイプを取得したいと思います。 これはどのように達成することができますか? ありがとう! <事前> <コード> class BaseClass { static void Ping () { Type t ...

2  実行時に1つのインスタンスから別のインスタンスへのプロパティの属性をコピーします。  ( Copy an attribute of a property from one instance to another instance of a diff ) 
このような2つのクラスがあるとしましょう: <事前> <コード> public class Foo { [Required] public string Name {get;set;} } public class Bar { // put here [R...

8  メソッド 'XYZ'は反映できません  ( Method xyz cannot be reflected ) 
サードパーティのWebサービスを消費し、ASP.NET Webアプリケーションからそれを呼び出しようとしています。 ただし、Webサービスをインスタンス化すると、次のSystem.InvalidOperationException例外がスローされます。 メソ...

1  デザイナーの文化を変更するときに自動的に作成されたリソースファイルが自動的に作成されないのはなぜですか?  ( Why arent the localized resource files created automatically when changing the ) 
現在、フォームのローカライズに取り組んでいます。しかし、私はどれだけ正しくこれを行うかについてやや混乱しています。 自動的にコントロールプロパティをリソースファイルにエクスポートすることが可能であると考えましたが、これは手動タスクです。 マイの現在のアプローチ...




© 2022 cndgn.com All Rights Reserved. Q&Aハウス 全著作権所有