【发布时间】:2010-09-02 14:06:22
【问题描述】:
我有一个带有两个接口的构造函数,它们是同一个接口,但需要不同的实现:
public class Foo
{
public Foo(IBar publicData, IBar privateData)
{
}
}
我想要发生的是,结构映射将 IBar 的具体实现作为 class PublicData 和 class PrivateData 传递给不同的参数。这可能吗?
更新
其实要确保有足够的信息:
我正在使用的真实类如下所示:
public abstract class EFRepository<T> : IRepository<T>
{
protected EFRepository(IUnitOfWork publicUnitOfWork,
IUnitOfWork privateUnitOfWork)
{
}
}
EFRepository 的实现可能如下所示:
public partial class ClaimRepository: EFRepository<Claim>, IClaimRepository
{
public ClaimRepository(IUnitOfWork publishedUnitOfWork,
IUnitOfWork unpublisedUnitOfWork)
: base(publishedUnitOfWork, unpublisedUnitOfWork)
{
}
}
因此,当我从结构映射中请求 IClaimRepository 的实例时,我希望为实现提供正确的工作对象单元,在我的实例中,它们本质上是两个不同的数据库,因此它是具有不同连接字符串的相同代码。
【问题讨论】:
标签: .net structuremap ioc-container