我目前正在尝试为 ServiceLocator 构建流畅的接口。确保每个开发人员都可以轻松设置 1-to-n 映射
我想要这样的东西
ServiceLocator.Instance.For<IFoo>(Use<Foo>(), Use<FooBar>());
单例工作正常...... For 方法的方法签名看起来像这样
public void For<TInterface>(params type[] services)
{
// ...
}
所以我一直在寻找类似全局方法的东西
C# 有一些全局方法,所有方法都在 System.Object 上定义。但是当我在 System.Object 上创建一个新的通用 ExtensionMethod 时,该方法将不可见。
public static class MyExtensions
{
public static void Use<T>(this Object instance)
{
// ..
}
}
MethodChaining 将是替代方案,但这种方法看起来很性感:D
有人有想法吗?