3
Iam不确定是否有人问同样的问题。但我无法找到任何与我的疑问相关的来源。代表们的需求是什么?
代表们在实时编程中需要什么?有很多步骤需要完成。
public delegate void SimpleDelegate();
class TestDelegate
{
public static void MyFunc()
{
Console.WriteLine("I was called by delegate ...");
}
public static void Main()
{
// Instantiation
SimpleDelegate simpleDelegate = new SimpleDelegate(MyFunc);
// Invocation
simpleDelegate();
}
}
如果再可用性是一个主要的原因(因为不需要创建实例)使用的委托,这可以通过其他方式也实现了。或者这是使用委托的唯一优势?我知道匿名方法比委托做的更好。但是,除了简化步骤外,它是否提供比代表更多的东西?以及当结构如下所示时我如何重用匿名方法。
List<int> values = new List<int>() { 1, 1, 1, 2, 3 };
List<int> res = values.FindAll(delegate(int element)
{
if (element > 10)
{
throw new ArgumentException("element");
}
if (element == 8)
{
throw new ArgumentException("element");
}
return element > 1;
});
我很困惑。请摆脱这一点。
代表和匿名方法之间的区别与水果和苹果之间的区别。 –
好的。但我想知道需要而不是差异。 –
那么有不同类型的代表和lambda表达式是使代表更强大的实现的关键核心之一。我建议你检查一下lambda。 – Aizen