我有一个方法

public Action FirstAction(object data)
{
}

我必须将两个变量传递给这个类,它们是不同类型的,例如 intstring 或任何其他类型的对象。

我读到我可以通过
FirstAction( new{int a, string b} )

我的问题是如何在 FirstAction 方法中访问两个分离的变量?

注意:我不能将 object 参数更改为 object[]params object[] ;它需要使用当前签名来完成。

最佳答案

也许使用动态关键字?

public Action FirstAction(dynamic data){
     var v = (int)data.a;
}

编辑:我看到其他人也提到了动态。您当然可以将一个对象作为参数,然后将其转换为动态,或者使用它并采用动态参数(如果这是一个选项)。

10-05 23:37