我想调用一个包含来自另一个事件的参数的事件,它们都有不同的命名空间,是否可以这样做?
public void event1(object1 sender, eventArgs e1)
{
// code goes here
}
public void event2(object2 sender, eventArgs e2)
{
// here I want call event1 with parametersenter code here
}
有可能吗?
答案 0 :(得分:0)
执行此操作的最佳方法不是调用事件,而只调用方法。
如果用最简单的术语表示您的事件分别只调用了Method1
和Method2
,那么您可以轻松地Method1
调用Method2
并执行任何操作。
你可以从event1
内部引发潜在的提升event2
,但这样做并不一定有意义(例如,如果是点击事件,则只能通过点击提出它。最好只是将公共代码重构为一个可以使用标准OOP技术轻松调用的方法。在我的代码中,我已经提取了方法静态方法,因此它们更容易从其他对象调用并假设Method1
在Class1
中(未明确显示)在Namespace1
中。如果您需要将它们作为非静态方法,则可能需要稍微改变一些。
这是我的意思的例子。
public void event1(object1 sender, eventArgs e1)
{
var myParameter = ...;
Method1(myParameter);
}
public static void Method1(object myParameter)
{
// code goes here
}
public void event2(object2 sender, eventArgs e2)
{
var myParameter = ...;
Method2(myParameter);
}
public static void Method2(object myParameter)
{
Namespace1.Class1.Method1(myParameter);
}
答案 1 :(得分:-1)
使用“MyNameSpace”; 这就是你需要的一切。 我需要写30个字符
除非我误解了你的意思。