我有這個類正在接受從代碼中不同位置調用的Dictionary<string,object>
。字典的概念使事情變得沒有類型化,很難弄清楚要傳遞類的功能,否則會引發運行時異常。由於這個Dictionary<string,object>
是一個契約定義,所以我必須編寫一個擴展方法來在調用我的類時將我的類型轉換爲字典。但現在我怎麼能關閉這個類,它只接受一個特定的類型如何關閉一個類只接受特定的類型化對象
因此,例如。
public class CreateReport : IRep
{
public void SetParam(Dictionary<string,object> parm)
{
// Here the dictionary param are been set.
}
public object RunRep()
{
}
}
ClassInvoker.Invoke(CreateReport , Dictionary<string,object>{"MyParam" , "World"});
所以這就是現在的情況。
我已經通過創建一個屬性類改變它作爲
public class CreateReportProp
{
public string MyParam { get;set;}
}
並具有擴展的方法ConvertObjToDict
所以現在我們必須做的是這樣
ClassInvoker.Invoke(CreateReport , new CreateReportProp { MyParam = "World"}.ConvertObjToDict());
但我會喜歡去進一步關閉類,這樣CreateReportClass
你只能通過CreateReportParam
否則編譯器會拋出一個外部上。
請給我一些想法,我該如何實現這一目標。
拋出異常是在運行時發生的。編譯器不(通常)拋出異常。 – 2010-01-14 12:37:33