0
我已经得到的(简化)以下代码位可用的属性:使微软统一依赖于构造
public abstract class BaseClass
{
[Dependency]
public IRequiredService RequiredService { get; set; }
protected string RequiredParameter { get; private set; }
public BaseClass(string requiredParameter)
{
this.RequiredParameter = requiredParameter;
}
}
public class DerivedClass : BaseClass
{
public DerivedClass(string requiredParameter) : base(requiredParameter)
{
RequiredService.DoSomething(); //this will fail!
}
}
换句话说,我希望有机会在统一填充RequiredService
构造函数......但这是不可能的,因为该属性还没有被Unity填充。我可以添加IRequiredService
作为必需的构造函数参数,但是我需要重构每个派生类的每个构造函数以包含该参数。
我想知道是否有更好的方法。
简而言之,我想在完成一个类之后运行一些代码,并且统一之后已经填充了标记为[Dependency]
属性的所有类的属性。
有没有简单的方法来做到这一点?
您是否考虑在[[[InjectionMethod]](https://msdn.microsoft.com/en-us/library/dn507483(v = pandp.30))中放入'RequiredService.DoSomething();'。 aspx)调用而不是构造函数? –
@ScottChamberlain优秀的建议。我一定错过了这个属性。随意将此变成正式答案,我会接受它。 – Shaamaan