C# 编写一个非常通用的方法

C# 编写一个非常通用的方法,c#,.net,lambda,C#,.net,Lambda,我有一个这样的方法 void Foo(IMyInterface obj) { } 现在,有时候用这种方法我想这样做 obj.A++; obj.B--; 有时候我想这样做 obj.A++; obj.B--; 问题是,我如何将某些东西传递到这个方法中,以一种通用的方式允许这种事情,这样无论我传递什么,它都会被执行。所以,我在寻找一个表达式或Func或类似的东西。您在寻找一个: 静态void Foo(这个T对象,动作动作),其中T:IMyInterface { 行动(obj); } 您正在

我有一个这样的方法

void Foo(IMyInterface obj)
{

}
现在,有时候用这种方法我想这样做

obj.A++;
obj.B--;
有时候我想这样做

obj.A++;
obj.B--;
问题是,我如何将某些东西传递到这个方法中,以一种通用的方式允许这种事情,这样无论我传递什么,它都会被执行。所以,我在寻找一个表达式或Func或类似的东西。

您在寻找一个:

静态void Foo(这个T对象,动作动作),其中T:IMyInterface
{
行动(obj);
}
您正在寻找:

静态void Foo(这个T对象,动作动作),其中T:IMyInterface
{
行动(obj);
}

操作
应该是一个
操作
。实际上,在
T:IMyInterface
中,它可能应该是泛型的,因为调用者需要参数与实际类型匹配,以便调用额外的方法。否则它可能是一个非泛型的
操作
操作
应该是一个
操作
。实际上,在
T:IMyInterface
中,它可能应该是泛型的,因为调用方将需要与实际类型匹配的参数,以便调用额外的方法。否则,它可能是一个非通用的
操作