在Unity3d C#中我可以创建一个调用Debug.Log的函数,如下所示:
void p(string p)
{
Debug.Log
(p);
}
可以使用int,string,Vector3,GameObject?
感谢
答案 0 :(得分:2)
Debug.Log
已经可以做到这一点。它需要object
和Object
作为参数。这些是Debug.Log
的函数原型:
public static void Log(object message);
public static void Log(object message, Object context);
您可以通过两种方式执行此操作:
1 。使用object
和Object
作为参数。
void p(object message)
{
Debug.Log(message);
}
void p(object message, Object context)
{
Debug.Log(message, context);
}
<强>用法强>:
带一个参数
p("Test");
p(50);
p(50.5f);
p(false);
有多个参数
p(false, new Object());
2 。使用泛型:
void p<T1>(T1 message)
{
Debug.Log(message);
}
void p<T1, T2>(T1 message, T2 context)
{
Debug.Log(message, context as Object);
}
<强>用法强>:
带一个参数
p<string>("Test");
p<int>(50);
p<float>(50.5f);
p<bool>(false);
有多个参数
p<bool,Object>(false, new Object());
我会使用第一种方法,因为输入更容易,更快。