寻找一种将关联数组传递给方法的方法。我正在寻找重写在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