尋找一種將關聯數組傳遞給方法的方法。我正在尋找重寫在C#中的Actionscript補間包,但遇到與「關聯」數組/對象的麻煩。通常,在Actionscript中我可能會做這樣的事情:將關聯數組傳遞給方法的簡明方法
public function tween(obj:DisplayObject, params:Object = null):void {
if (params.ease != null) {
//do something
}
//...
}
這可以被稱爲像:
tween(this, {ease:'out', duration:15});
我正在尋找一個方式做在C#中的相同。到目前爲止,我收集了我的選擇是:
a)創建一個類或結構定義可能PARAM鍵和類型和傳遞
B)傳遞的參數作爲泛型類型
tween(frameworkElement, new {ease = 'out', duration = 15});
假設
public static void tween(FrameworkElement target, object parameters);
,並找出一些方法來使用,在補間功能(我不知道如何在關鍵分開=值的給該對象。任何想法?)
c)中創建一個Dictionary<string, object>
的參數傳遞到吐溫功能
任何其他的想法或示例代碼?我是C#的新手。
編輯
我花了一整天都摸不着頭腦:
「匿名類型不能跨越程序集邊界共享編譯器保證了至多有一個匿名類型爲給定的順序屬性名稱/類型對在每個程序集中。要在程序集之間傳遞結構,您需要正確定義它們。「
這是一個有趣的想法。它似乎有點濫用(看到你定義的「功能」實際上除了傳遞你的硬編碼數據外實際上沒有做任何事情),但它很整潔。 – mquander 2009-02-10 01:54:39
是的,我更喜歡匿名類型。 – 2009-02-10 01:59:04