Invoke 是委托类型的实例方法,用于调用委托所引用的方法。委托是一种类型,它允许我们将方法作为参数传递并存储在字段或属性中。当委托实例被调用时,它会调用与之关联的方法。可以使用 += 运算符将一个方法添加到委托中,使用 -= 运算符将其从委托中删除。
在具体使用上,委托被定义为一个类实例,其具有与特定方法签名匹配的方法。每个委托实例都与一个特定方法绑定,并且可以通过委托实例调用该方法。
在 C# 中,委托类型可以使用 delegate 关键字声明。例如:
delegate void MyDelegate(string arg);
这定义了一个委托类型 MyDelegate,它可以引用参数为 string,无返回值的方法。
在代码中,Invoke 方法可以用来调用一个委托。例如:
public class MyClass
{
public void MyMethod(string arg)
{
Console.WriteLine("MyMethod called with arg: " + arg);
}
}
// 创建委托并将其关联到方法
MyDelegate myDelegate = new MyDelegate(new MyClass().MyMethod);
// 调用委托
myDelegate.Invoke("Hello, world!");
在这个例子中,myDelegate.Invoke(“Hello, world!”); 调用了 MyMethod 方法,并将字符串 “Hello, world!” 作为参数传递给该方法。