C# 可以创建一个调用Debug.Log的函数

C# 可以创建一个调用Debug.Log的函数,c#,unity3d,C#,Unity3d,在Unity3d C#中,我是否可以创建一个调用Debug.Log的函数,如下所示: void p(string p) { Debug.Log (p); } 可以用int,string,Vector3,GameObject吗 谢谢我已经可以做了。它以对象和对象为参数。这些是函数原型: 您可以通过两种方式执行此操作: 1。使用object和object作为参数 void p(object message) { Debug.Log(message); } void

在Unity3d C#中,我是否可以创建一个调用Debug.Log的函数,如下所示:

 void p(string p)
 {
    Debug.Log
    (p);
 }
可以用int,string,Vector3,GameObject吗

谢谢

我已经可以做了。它以
对象
对象
为参数。这些是函数原型:

您可以通过两种方式执行此操作:

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());
p<string>("Test");
p<int>(50);
p<float>(50.5f);
p<bool>(false);
p<bool,Object>(false, new Object());
多参数

p("Test");
p(50);
p(50.5f);
p(false);
p(false, new Object());
p<string>("Test");
p<int>(50);
p<float>(50.5f);
p<bool>(false);
p<bool,Object>(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);
}
void p(T1消息)
{
Debug.Log(消息);
}
void p(T1消息,T2上下文)
{
Log(消息、上下文作为对象);
}
用法

只有一个参数

p("Test");
p(50);
p(50.5f);
p(false);
p(false, new Object());
p<string>("Test");
p<int>(50);
p<float>(50.5f);
p<bool>(false);
p<bool,Object>(false, new Object());
p(“测试”);
p(50);
p(50.5f);
p(假);
多参数

p("Test");
p(50);
p(50.5f);
p(false);
p(false, new Object());
p<string>("Test");
p<int>(50);
p<float>(50.5f);
p<bool>(false);
p<bool,Object>(false, new Object());
p(false,newobject());
我会选择第一种方法,因为它更容易和更快地键入。

已经可以这样做了。它以
对象
对象
为参数。这些是函数原型:

您可以通过两种方式执行此操作:

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());
p<string>("Test");
p<int>(50);
p<float>(50.5f);
p<bool>(false);
p<bool,Object>(false, new Object());
多参数

p("Test");
p(50);
p(50.5f);
p(false);
p(false, new Object());
p<string>("Test");
p<int>(50);
p<float>(50.5f);
p<bool>(false);
p<bool,Object>(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);
}
void p(T1消息)
{
Debug.Log(消息);
}
void p(T1消息,T2上下文)
{
Log(消息、上下文作为对象);
}
用法

只有一个参数

p("Test");
p(50);
p(50.5f);
p(false);
p(false, new Object());
p<string>("Test");
p<int>(50);
p<float>(50.5f);
p<bool>(false);
p<bool,Object>(false, new Object());
p(“测试”);
p(50);
p(50.5f);
p(假);
多参数

p("Test");
p(50);
p(50.5f);
p(false);
p(false, new Object());
p<string>("Test");
p<int>(50);
p<float>(50.5f);
p<bool>(false);
p<bool,Object>(false, new Object());
p(false,newobject());
我会选择第一种方法,因为它更容易、更快地打字