为什么我要给它起个名字?

时间:2012-05-20 18:04:26

标签: c#-4.0 delegates

我正在尝试在Unity中进行一些游戏编程,因此我不得不选择C#或Javascript或(Boo)。我之所以选择C#是因为它至少具有不错的IDE,实际上它比Javascript和面向对象快一点。无论如何,我正在宣布代表:

private delegate Object Instantiate_(Object ,Vector3 ,Quaternion );  

我收到编译错误告诉我,我应该命名那些参数。任何合乎逻辑的理由?我没有在任何地方使用它们,我也没有引用它们,那么命名它们有什么意义呢?

1 个答案:

答案 0 :(得分:2)

参数名称是必需的,因此您可以使用明确指定参数名称的调用语法:

public delegate object MakePersonDelegate(string firstName, string lastName, DateTime dateOfBirth);

MakePersonDelegate myDelegate = ...;
myDelegate(lastName: "Smith", firstName: "John", dateOfBirth: new DateTime(1985, 1, 1));

请注意此代码如何切换名字和姓氏;但是代理以正确的顺序获取它们:"John"将传递给委托的第一个形式参数,"Smith"将传递给第二个参数。