gpt4 book ai didi

c# - 如何访问 new {int a, string b} 中的对象

转载 作者:太空狗 更新时间:2023-10-29 23:59:44 26 4
gpt4 key购买 nike

我有一个方法

public Action FirstAction(object data)
{
}

我必须向此类传递两个不同类型的变量,例如 intstring 或任何其他类型的对象。

我读到我可以通过

FirstAction( new{int a, string b} )

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

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

最佳答案

如果你不能改变函数签名,那么你总是可以使用动态的:

public Action FirstAction(object data) { 
dynamic dataAsDynamic = data;
int a = dataAsDynamic.a;
string b = dataAsDynamic.b;
}

请注意,这非常脆弱,因为一旦有人更改这些字段的名称,代码就会崩溃。我实际上不建议这样做,但如果您无法控制函数签名,那么您就会陷入困境。

关于c# - 如何访问 new {int a, string b} 中的对象,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37165924/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com