ジェネリック メソッドがあり、渡されたオブジェクトが単一のオブジェクトまたはオブジェクトのリストである可能性があります。例:
public void MyGenericMethod<T>(T something, int? index)
{
// if it is a list how do I get to the object in the list?
}
誰かがリストを渡す場合があります。オブジェクトのリストが渡された場合は、index パラメータを使用して、リストから単一のオブジェクトを取得します。index が null でない場合、リストを渡したと推測できますが、その値を取得するにはどうすればよいでしょうか? 私はこれを行うことはできません:
object temp = something[index.Value];
ユーザーに 1 つのオブジェクトをジェネリック メソッドに渡すように強制することはできないことに注意してください。また、配列(T [])にして、ユーザーに配列(またはリスト)を渡すように強制することもできません。