我創建了一個繼承自Registry
類的類。在這一類我想注入屬性:爲什麼StructureMap不注入屬性?
ForConcreteType<Person>()
.Configure
.Setter(s => s.PersonSpecializationManager)
.Is(t => t.GetInstance<IPersonSpecializationManager>());
的屬性定義如下:
/// <summary>
/// Gets or sets the person specialization manager
/// </summary>
public virtual IPersonSpecializationManager PersonSpecializationManager
{
get
{
return _personSpecializationManager;
}
set
{
_personSpecializationManager = value;
}
}
我不能使用構造函數注入,因爲Person
由NHibernate的創建。既然NHibernate需要一個空的構造函數,我不得不這樣做。我意識到我可以引入另一個類來處理_personSpecializationManager
的事實,但我無法做到這一點。
上述繼承自Registry
類的類是在StructureMap中配置的。當我在線路ForConcreteType<Person>() ...
處放置一個斷點時,會觸發斷點。所以我知道它應該由StructureMap處理。
所以,我的問題是,爲什麼不是StructureMap注入我的財產?
有道理,沒想到創作故事。 – Martijn