寻找一种将关联数组传递给方法的方法。我正在寻找用 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)创建一个类或结构来定义可能的参数键和类型并传递它
b) 将参数作为泛型类型传递
tween(frameworkElement, new {ease = 'out', duration = 15});
假设
public static void tween(FrameworkElement target, object parameters);
并找出一些在补间函数中使用它的方法(我不确定如何分离给定该对象的键=值。有什么想法吗?)
c) 创建一个Dictionary<string, object>
将参数传递给补间函数
还有其他想法或示例代码吗?我是 C# 的新手。
编辑
花了我一整天才弄清楚:
“匿名类型不能跨程序集边界共享。编译器确保每个程序集中给定的属性名称/类型对序列最多有一个匿名类型。要在程序集之间传递结构,您需要正确定义它们。”