有沒有更好的方式來創建一個依賴注入自我實例(而不是單身),比這?NInject自我實例
public partial class MainForm : Form, IMessageLogger
{
public MainForm(IKernel kernel) : this()
{
this.kernel = kernel;
MainForm form = this;
kernel.Bind<IMessageLogger>().ToMethod((a) => { return form; });
(...)
只爲背景:自實例是一個Windows窗體,我要聽某些記錄程序的事件,一些控制器創建的,爲了正確地呈現它們在一個文本框或狀態欄。
綁定到.Self()
有一個短暫的範圍,並將爲每個.Get()
一個新的對象,使用.ToProvider()
只是佳能殺一隻螞蟻,所以給我留下了.ToMethod()
但我覺得彆扭在其中創建form
溫度值爲了退貨。
這有什麼錯kernel.Bind()ToMethod((A)=> {返回此;}); ? –
Alex
@Alex,甚至沒有嘗試過,因爲我認爲'this'是'that'(匿名代表上下文對我來說是誤導性的,因爲我傾向於認爲這是內核或其他內容)。所以你對我的信息被接受。請添加一個答案,並原諒我愚蠢的問題! Thx – saamorim
我剛剛拍攝了一張:) – Alex