我想避免用 new 实例化某些类,并强制使用工厂类。
但我不明白该怎么做。
有人可以给我看一个小样本吗?
在此先感谢您的帮助,最好的问候
这应该让你开始。您将需要添加自己的逻辑来确定是否应允许任何给定类型的实例通过 newing 实例化。
public override ProblemCollection Check(Member member)
{
if (member is Method)
{
this.Visit(member);
}
return this.Problems;
}
public override void VisitConstruct(Construct construct)
{
base.VisitConstruct(construct);
if (!this.AllowTypeToBeNewed(construct.Type))
{
this.Problems.Add(new Problem(this.GetResolution(), construct));
}
}
private bool AllowTypeToBeNewed(TypeNode type)
{
throw new NotImplementedException();
}