StructureMap прекрасно работает для всех других моих классов репозитория, но не может предоставить экземпляр моего простого класса налоговой стратегии.Выдается ошибка, запрашиваю ли я экземпляр в параметре конструктора или явно запрашиваю его:
StructureMap Exception Code: 202
No Default Instance defined for PluginFamily System.Decimal, mscorlib,
Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
Не знаю, почему ошибка установлена на System.Decimal
, но в моем реестре Bootstrapper
у меня есть:
For<ITaxStrategy>().Use<ValueAddedTax>();
, где ITaxStrategy
- следующий простой интерфейс:
public interface ITaxStrategy
{
decimal CalculateTax(decimal amount);
}
и ValueAddedTax
реализован так:
public class ValueAddedTax : ITaxStrategy
{
private decimal _taxRate = 1.14M;
public ValueAddedTax(decimal taxRate)
{
_taxRate = taxRate;
}
public decimal CalculateTax(decimal amount)
{
return amount * _taxRate; // this be pulled from the database.
}
}
Я даже обновился до версии 2.6.1 Сборка StructureMap, но ошибка сохраняется.Что я делаю не так?