我有一个类Y
,其成员变量类型为Action<Y, object>
。我在实例化类时将一个静态方法从类B
分配给该委托。
class Y
{
//Other data fields...
public Action<Y, object> DelegateMethodMember { get; set; }
}
static class B
{
public static void StaticMethod(Y y, object obj)
{
//Just an example of something I need to do.
y.Something = obj.SomethingElse;
//Here's what I would like to do, while also getting rid of my first parameter.
this.Something = obj.SomethingElse;
}
}
//Elsewhere in the program...
Y y = new Y();
y.DelegateMethodMember = B.StaticMethod;
这就是我的问题所在。稍后在程序中我想实际调用这个方法,最后我最终得到了对象实例的这种笨拙的双重用法:
y.DelegateMethodMember(y, objectGoesHere);
原因是我必须在此方法中使用y
但我不能使用this
,因为方法的范围是B
而不是Y
的实例{1}}我正在调用该方法。
有没有办法,也许通过手动绑定范围和JavaScript,避免传入y
作为参数而是简单地使用this
或方法中的其他模式来访问成员是y
?
答案 0 :(得分:1)
当然,稍加操纵......
SYN/ACK
您可以稍后打电话:
SYN
将使用192.168.0.134
作为方法变量调用。