【发布时间】:2018-02-21 17:17:31
【问题描述】:
给定这个委托
public class XYZ
{
public static Action<Profile> DoSomething = (profile) =>
{
//some default code here
return;
};
}
在我的主要执行中的某个时候,我用这个覆盖它:
XYZ.DoSomething = (currProfile) =>
{
// some overriding code here
}
如何在需要时将代码设置回原始默认代码而不重复代码?
【问题讨论】:
-
创建一个您可以调用的方法,将默认值(即原始值)分配给属性。您可以从构造函数调用该方法以确保初始化。
-
AFAIK 除非您将原始文件保存在不同的变量中,否则您不能这样做。编辑:好的,肯尼斯是对的。
-
如果这是临时交换,您也可以将原始数据分配给一个变量,然后再将其分配回去。真的取决于你如何使用它。
-
这不是特定于委托的,如果变量是
int或string... -
我可以投反对票,但没有任何解释很难纠正错误。知道为什么吗?