私には機能があります
public List<Item> Filter(params String[] valuesOrdered)
{
//...
}
これは、すべての に対するフィルタとして機能しますItem
。
public class Item
{
List<String> propertiesOrdered;
//...
}
そのため、 eg を呼び出すと、最初のエントリとしてFilter("prop1")
すべてItem
の s の"prop1"
プロパティが一致します。
を呼び出すFilter()
と、すべてItem
の s が返されます。
また、値を一致させる必要がありnull
ます。たとえば、今すぐ呼び出すFilter(null, null)
と、最初のプロパティとしてすべてItem
の snull, null
が一致します。
を呼び出す場合を除いて、これはすべて機能しますFilter(null)
。と同じように解釈されますが、前者は最初のプロパティとしてすべての s を返し、後者はすべての s をFilter()
返すことを意図しています。Item
null
Item
これに対処するためにオーバーロードを定義してみました
public List<Item> Filter(String value)
{
if(value == null)
return Filter(new String[] {null});
else
return Filter(value);
}
しかし、コンパイラは、Ambiguous Invocation
呼び出し時にエラーを表示するだけFilter(null)
です。