我有一个自定义助手类,我想使用[ServiceDepenency]
属性来获取值。
public class MyHelper
{
private WorkItem _workItem;
[ServiceDependency]
public WorkItem MyWorkItem
{
get { return _workItem; }
set { _workItem = value; }
}
}
这似乎在我正在使用的应用程序的其他方面完全正常,但是它不能与我的自定义帮助程序类一起使用。永远不会调用set
方法。
这在同一项目/命名空间的另一个服务类中工作正常。唯一的区别是Service类包含[Service]
属性,使用WorkItem.Services.Get<IMyService>
而不是在需要的地方使用new MyHelper()
获取。
[Service(typeof(IMyService))]
public class MyService : IMyService
{
private WorkItem _workItem;
[ServiceDependency]
public WorkItem MyWorkItem
{
get { return _workItem; }
set { _workItem = value; }
}
}
它似乎也适用于我们的BasePresenter
类,据我所知,它没有特殊属性。这是在一个不同的库中,并且被抽象得足以让我错过了它。
public abstract class BasePresenter
{
private WorkItem _workItem;
[ServiceDependency]
public WorkItem MyWorkItem
{
get { return _workItem; }
set { _workItem = value; }
}
}
在创建MyHelper
类的实例时,为了让CAB注入此值,究竟需要什么?
我正在使用.Net 3.5,而且我对CAB系统了解不多。