我试图隐藏函数中的复杂性以方便函数调用。例如Log(string msg)
,用于将文本消息写入文本框控件的函数,带有换行符,以及用于多线程的 Invoke()。现在我想避免不得不使用Log(string.Format("..{0}..", x, ...))
和编写一个Log(string format, params object[] args)
非常有用的版本。
直到我需要将此 Log() 作为参数传递给另一个需要进行日志记录的函数:
AnotherFunction(Action<string, object[]> Log)
{
Log("formatstring", new object[] { value1, value2, ...});
}
我的问题:如何避免new object[]
每次必须调用 Log() 时都必须编写构造代码?