从字符串添加到委托
本文关键字:添加 字符串 | 更新日期: 2023-09-27 18:21:49
我有很多方法
public void A(){}
public void B(){}
etc
然后,我想在字符串构造函数之后将这些方法中的一个(或多个)添加到类的实例中:
class MyClass
{
public delegate void Del();
public Del MyDel;
public MyClass(string myString)
{
}
}
在构造函数中,我希望能够将名为myString的类方法添加到我的委托中,这可能吗?
使用Delegate.CreateDelegate()方法
class MyClass
{
public delegate void Del();
public Del MyDel;
public MyClass(string myString)
{
MyDel = (Del)Delegate.CreateDelegate(typeof(Del), this, myString);
}
public void A() { }
public void B() { }
}
是的,在a()和B()中的匿名方法中放置一个断点
public delegate void Del();
public Del MyDel;
public MainWindow(string imAStringSentToAConstructorBySomeone)
{
// Edit :
MyDel += (Del)Delegate.CreateDelegate(typeof(Del), this,imAStringSentToAConstructorBySomeone);
// Full Answer
MyDel += () =>
{
};
MyDel += (Del)Delegate.CreateDelegate(typeof(Del), this, "A");
MyDel += (Del)Delegate.CreateDelegate(typeof(Del), this, "B");
MyDel.Invoke();
}
public void A()
{}
public void B()
{}