List<ICommand>
我通过构造函数注入一个通用列表。我的库的用户应该能够添加他们自己的ICommand
. 所有ICommand
实现在编译时都是已知的。目前,我添加ServiceCollection
了以下内容(我意识到还有其他方法可以做到这一点):
ServiceCollection.AddSingleton<List<ICommand>>>(new List<ICommand>()
{
new Command1(),
new Command2(),
new etc....
});
这适用于添加ICommand
当前库中定义的实现。但是,我希望其他人使用我的库并添加他们自己的ICommand
. ICommand
他们如何从这个List<ICommand>
库之外添加自己的?
我正在使用这个特定的例子List<T>
来理解一个更普遍的问题:“你如何使用”建立一个对象跨库边界ServiceCollection
?