我有一个通用方法,传递的对象可能是单个对象或对象列表。例子:
public void MyGenericMethod<T>(T something, int? index)
{
// if it is a list how do I get to the object in the list?
}
在某些情况下,有人会通过列表。如果他们确实传递了一个对象列表,我将使用 index 参数将单个对象从列表中取出。我可以假设如果索引不为空,那么它们会传入一个列表,但是我如何获得该值?我不能这样做:
object temp = something[index.Value];
需要注意的是,我不能强制用户将单个对象传递给我的通用方法。此外,我不能将其设为数组(T[])并强制用户传入数组(或列表)。