使用structuremap和C#4.0中基本上我已經是這樣的:StructureMap在C#創建一個配置對象的WinForms
interface IBoard
{
void Setup();
}
class Board : IBoard
{
IConfig _config;
Board(IConfig config)
{
_config = config;
}
void Setup()
{
//use the _config object here
}
}
class Game
{
IBoard _board;
Game(IBoard board)
{
_board = board;
}
}
partial class Form1
{
Form1()
{
InitializeForm();
}
//in here we need to do some work to setup the IConfig object
//via form controls
}
partial class Form2
{
Game _game;
Form1(Game game)
{
InitializeForm();
_game = game;
}
}
現在在正常使用的ID只是說
For<Type>().Use<Class>()
點左右我所有的依賴關係。然而我所後是什麼,是用來設置在Form1的配置對象的值,然後調用窗口2,在存儲器中設置和整個應用程序維護的配置值的最佳模式?我想用一個單獨但是單應該是imuttable,或者至少靜態創建,而不是接受一個基於參數配置的......所以做什麼?我目前建立在WinForm的方案在Form1通過
ObjectFactory.Get<Form1>();
聽起來不錯,這幾乎是我一直在尋找...不適當給它一個旋轉和回發 – AaronHS 2011-05-19 07:06:14
ive編輯你的答案適合一點,但問題仍然是,遊戲對象需要通過form1 ctor (我認爲這是不必要的 - 請告訴我你的想法),並且具有IConfig對象的Game對象拋出異常,因爲它沒有被SM正確創建(當我刪除它時,一切正常) – AaronHS 2011-05-19 11:32:37
@AaronHS:也許編輯問題而不是答案? – Andomar 2011-05-19 11:35:13