Tag: 构造函数注入

使用AutoMapper在构造函数中注入父类映射子类

我有以下类结构: class SrcChild { public bool SomeProperty { get; set; } } class SrcParent { public IEnumerable Children { get; set; } } 所以SrcParent有一个SrcChild对象的集合。 现在我想将SrcParent的实例映射到DstParent。 以下是目标类: class DstChild { public bool SomeProperty { get; set; } public DstChild(DstParent parent) { if (parent == null) throw new ArgumentNullException(); } } class DstParent { public IEnumerable Children […]

未能通过Castle Windsor传递通用参数

尝试使用Castle Windsor创建参数化实例时 ,传递generics参数似乎存在问题 未通过通用论证的演示 private static void Main(string[] args) { PassGenericParamAtResolutionTime(); Console.ReadLine(); } private static void PassGenericParamAtResolutionTime() { Console.WriteLine(“Passing generic argument fails”); var container = new WindsorContainer(); container.Register(Component.For<ISandCoordinator>() .ImplementedBy<SandCoordinator>()); var runtimeConstructorParam = new GenericManager( “This Id Does Not Get Through”); var runtimeArguments = new Arguments( new object[] {runtimeConstructorParam}); var shouldBeParameterizedCoordinator = container .Resolve<ISandCoordinator>(runtimeArguments); Console.WriteLine(shouldBeParameterizedCoordinator.Log); } […]

StructureMap:选择嵌套依赖项的具体类型

计算器: public interface ICalculator { int Calculate(int a, int b); } public class Calculator : ICalculator { private readonly ICalculatorStrategy _calculatorStrategy; public Calculator(ICalculatorStrategy calculatorStrategy) { _calculatorStrategy = calculatorStrategy; } public int Calculate(int a, int b) { return _calculatorStrategy.Calculate(a, b); } } 计算器stragies: public interface ICalculatorStrategy { int Calculate(int a, int b); } public class AdditionCalculator […]

具有过滤的dbContext的多租户Web应用程序

我是ASP.Net MVC和多租户Web应用程序的新手。 我做了很多阅读,但作为初学者,我只是按照我的理解。 所以我设法构建了一个示例场景Web应用程序,需要解决它的结尾部分。 希望这种情况对其他一些初学者也有用,但欢迎任何其他方法。 提前致谢 1)SQLServer 2008中的数据库。 2)数据层:名为MyApplication.Data的C#类库项目 public class AppUser { [Key] public virtual int AppUserID { get; set; } [Required] public virtual int TenantID { get; set; } [Required] public virtual int EmployeeID { get; set; } [Required] public virtual string Login { get; set; } [Required] public virtual string Password { […]

C#/ Unity中的构造函数注入?

我正在使用C#和Microsoft的Unity框架。 我不太清楚如何解决这个问题。 这可能与我对Unity缺乏理解DI有关。 我可以使用以下示例代码总结我的问题: class Train(Person p) { … } class Bus(Person p) { … } class Person(string name) { … } Person dad = new Person(“joe”); Person son = new Person(“timmy”); 当我在Bus上调用resolve方法时,如何确保注入名为’timmy’的Person’son’并在解析Train时如何确定具有当时名称’joe’的Person’add’得到解决? 我想也许可以使用命名实例? 但我不知所措。 任何帮助,将不胜感激。 顺便说一句,我宁愿不创建一个IPerson接口。