【发布时间】:2014-04-13 01:22:55
【问题描述】:
我正在编写一个运行用户定义算法的应用程序。我想跟踪使用的变量,所以我创建了 TVar 类,当它们被改变或窥视时会引发事件。我已经这样做了
public static implicit operator int(TVar v)
{
Tracker.Track(v.name, EventType.Variable, EventAction.Peek, v.var);
return (int)v.var;
}
现在我想知道用户何时更改值,并且我有
public static implicit operator TVar(int i)
{
Tracker.Track(/* I need TVar.Name here */, EventType.Variable, EventAction.Change, i);
return new TVar(i);
}
但您可能已经注意到,我使用“名称”来识别不同的 TVar。现在,我创建新的 TVar var1 并将其命名为“第一个 var”,用它做一些事情(跟踪器接收信息),当我将 var1 更改为其他 int 时,它会丢失它的名称(因为我返回了新的 TVar,而不是实际的)请帮忙!
【问题讨论】:
-
第二个代码 sn-p 中的
v是什么?
标签: c# .net operator-keyword implicit-conversion