这个List <string> ListName作为参数?</string>

时间:2010-11-16 20:29:52

标签: c# list this

将此List作为方法的参数是什么意思?

public static void KillZombies(this List<Zombie> ZombiesToKill, int NumberOfBullets)
{
    ...
}

2 个答案:

答案 0 :(得分:8)

这意味着该方法是Extension Method

调用该方法的代码可能看起来有点令人困惑:

var zombies = new List<Zombie>();
zombies.KillZombies(15);

实际上,这是一种语法糖,相当于:

public static void KillZombies(List<Zombie> zombiesToKill,
                               int numberOfBullets)
{
    // Code here
}

调用代码如下:

var zombies = new List<Zombie>();
KillZombies(zombies, 15);

答案 1 :(得分:1)

这是extension method

在这种情况下,扩展List<Zombie>。你会这样称呼它:

listOfZombies.KillZombies(numberOfBullets);

listOfZombies的类型为List<Zombie>numberOfBullets为整数。