Example of markdown code:
foo
```
fenced code block (fail)
```
bar
lalala...
项目中的 DataAccessLayer.cs
:
DataAccess
public class Foo : IFoo
{
public void Bar()
{
// Implementation
}
}
项目中的 IDataAccessLayer.cs
:
DataAccess.Contracts
public interface IFoo
{
void Bar();
}
项目中的 MainClass.cs
:
Main
我想在运行时直接在class Program
{
public static IFoo Foo { get; set; } // Her I want to inject dependency directly at runtime
static void Main(string[] args)
{
}
}
属性中注入依赖项。
如果可能的话,我想使用配置文件而不是属性来进行类和接口之间的映射。
最好的方法是什么?如果可能,如何使用Unity?
答案 0 :(得分:0)
您可以从NuGet包中安装Unity。然后,你可以做这样的事情:
static void Main(string[] args)
{
var unityContainer = new UnityContainer();
unityContainer.RegisterType<IDataAccessLayer, DataAccessLayer>();
var instancerOfDataAccessLayer = unityContainer.Resolve<IDataAccessLayer>();
instancerOfDataAccessLayer.Foo();
Console.ReadLine();
}
您可以在此处找到有关Unity的更多信息:http://geekswithblogs.net/danielggarcia/archive/2014/01/23/introduction-to-dependency-injection-with-unity.aspx
希望它有所帮助。