Я изо всех сил пытаюсь решить проблему и буду очень признателен за помощь.
public interface ISolver<T>
{
void Solve();
}
public class Solver : ISolve<IEntity>
{
void Solve()
{
...code that solves the given problem
}
}
public class Client : IClient<IEntity>
{
public Dictionary<string, ISolver<IEntity>> Solvers { get; set; }
}
Все они являются частью решения пространства имен.
В конфигурации Spring.Net:
<object id="Client" type="solution.Client, solution">
<property name="Solvers">
<dictionary key-type="string" value-type="solution.Solver, solution">
<entry key="SolverMp" value-ref="SolverMp"></entry>
</dictionary>
</property>
</object>
<object id="SolverMp" type="solution.Solver, solution">
</object>
Получено исключение:
Spring.Core.TypeMismatchException: невозможно преобразовать значение свойства типа [System.Collections.Generic.Dictionary`2 [[System.Строка, mscorlib, Версия = 4.0.0.0, Культура = нейтральная, PublicKeyToken = b77a5c561934e089], [solution.Solver, решение, Версия = 1.0.0.0, Культура = нейтральная, PublicKeyToken = null]]] требуемого типа [System.Collections.Generic.Dictionary`2 [[System.String, mscorlib, Версия = 4.0.0.0, Culture = нейтральный, PublicKeyToken = b77a5c561934e089], [solution.ISolver`1 [[solution.IEntity, solution, Версия = 1.0.0.0, Culture =нейтральный, PublicKeyToken = null]], решение, версия = 1.0.0.0, Culture = нейтральный, PublicKeyToken = null]]] для свойства 'Solvers'.