我的意思是我有一个这样的方法:
public static void CrossThreadUpdate<T1, T2, T3>(this Form form, Action<T1, T2, T3> action, object[] parms)
{
form.BeginInvoke(action, parms);
}
但是我不想为<T1>, <T1, T2>, <T1, T2, T3>, <T1, T2, T3, T4>, etc.
创建相同的功能,我想像的是与Foo(params string[] bar)
类似的东西。
答案 0 :(得分:5)
我会这样做:
public static void CrossThreadUpdate(this Form form, Action action)
{
form.BeginInvoke(action);
}
并使用https://api.kraken.com/0/public/OHLC?pair=btcusdt&interval=1440&since=1483228800进行调用,而不是尝试分别传递参数:
this.CrossThreadUpdate( () => someAction(param1, param2, param3) );
这还具有类型安全的优点,而params object[]
不是,并且还会导致对结构类型进行装箱。