You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

TFS签入策略的Evaluate方法是否在静态对象上被调用?

TFS签入策略Evaluate方法的调用对象说明

嘿,我来帮你搞清楚这个问题!

结论先行:TFS签入策略的Evaluate方法并不是在静态对象上调用的,而是在你自定义策略类的实例对象上执行的。

为什么这么说呢?结合你贴的代码来看:

  • 当TFS加载你的AuditControlsPolicy签入策略时,会先创建这个类的实例——你构造函数里的System.Windows.Forms.MessageBox.Show("in constructor");就是最好的证明,策略初始化时这个弹窗会触发,说明实例已经被创建了。
  • Evaluate是PolicyBase基类定义的抽象实例方法,你必须在派生类里重写它的实现。TFS框架会调用这个已创建的策略实例的Evaluate方法,来执行签入前的规则检查。
  • 另外,你代码里定义的实例成员list(构造函数里初始化的列表),如果Evaluate是静态调用的话,根本无法访问这个实例变量,但实际签入策略的逻辑往往需要依赖这类实例状态,这也从侧面印证了是实例调用的逻辑。

简单来说,TFS会为每个签入策略创建实例,然后调用实例的Evaluate方法完成检查,完全和静态对象无关~

内容的提问来源于stack exchange,提问作者codechurn

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.22 07:47:15