我编写了一个获取对象数组的方法,数组内容的类型作为泛型,并尝试将每种类型转换为交付的泛型:
public static void GetMultipleObjectsFromParameters<T, U>(
object parameterArray, out T parameter1, out U parameter2)
{
parameter1 = default(T);
parameter2 = default(U);
try
{
object[] arr = parameterArray as object[];
if (arr == null)
{
Debug.WriteLine("array not valid");
return;
}
if (arr.Length != 2)
{
Debug.WriteLine("arr.Length != 2");
return;
}
parameter1 = (T)arr[0];
parameter2 = (U)arr[1];
}
catch (Exception ex)
{
Debug.Write(ex);
}
}
我认为如果我使用 BackgroundWorker 并希望提供多个不同类型的参数(例如第一个参数为字符串,第二个参数为整数......),此方法可能非常有用。
现在我只是想知道是否有一种方法可以编写此方法而无需强制使用固定大小的参数。这将阻止我为每个参数计数编写这样的方法。
我希望这个问题是可以理解的。有没有简单的方法?谢谢您的帮助。