我必须将方法从用户控件传递到WPF。为此,我使用委托( UserControl调用WPF,所以我不能从WPF调用UserControl )。
在UserControl中:
myWPF = new WPF1.UserControl1(Method1, Method2, Method3, Method4);在WPF中:
public delegate int Del1(int i)
public Del1 MyMethod1;
public delegate string Del2(int i)
public Del2 MyMethod2;
public delegate void Del3()
public Del3 MyMethod3;
public delegate void Del4()
public Del4 MyMethod4;
// Constructor
public UserControl1(Del1 MyMethod1, Del2 MyMethod2,Del3 MyMethod3,Del4 MyMethod4)
{
MyMethod1 = Method1;
MyMethod2 = Method2;
MyMethod3 = Method3;
MyMethod4 = Method4;
}我有很多方法要传递。有没有可能传递一堆方法,其中我拥有所有的方法,而不是一个接一个地传递?
发布于 2018-06-11 15:31:24
虽然这不是你确切问题的答案,但我确实认为这是正确的答案:
简单地说,通过这种方式,您可以在接口中定义所需的方法,在单独的类中实现它们,并在接口中传递。您可以在应用程序启动时注册实现接口的类(或者甚至可以基于上下文动态注册)。这种方式将定义(契约)从实现中分离出来,从而提供了更多的灵活性和可测试性。
有关更多信息,请参阅Martin Fowler对Inversion of Control Containers and the Dependency Injection pattern的解释
https://stackoverflow.com/questions/50792246
复制相似问题