gpt4 book ai didi

c# - 有没有办法从方法中返回匿名类型?

转载 作者:IT王子 更新时间:2023-10-29 03:44:17 24 4
gpt4 key购买 nike

我知道我不能写这样的方法:

public var MyMethod()
{
return new{ Property1 = "test", Property2="test"};
}

否则我可以这样做:

public object MyMethod()
{
return new{ Property1 = "test", Property2="test"}
}

但我不想做第二个选项,因为如果我这样做,我将不得不使用反射。


我为什么要这样做:

今天我的 aspx 页面中有一个方法返回一个数据表作为结果,我无法更改它,我试图将此 DataTable 转换为具有我想要工作的属性的匿名方法和。我不想只创建一个类来执行此操作,因为我需要多次执行相同的查询,我认为创建一个返回匿名类型的方法是个好主意。

最佳答案

将其作为 System.Object 返回是从方法返回匿名类型的唯一方式。不幸的是,没有其他方法可以做到这一点,因为匿名类型是专门为防止以这种方式使用它们而设计的。

有一些技巧可以结合返回 Object 来让您接近。如果您对此解决方法感兴趣,请阅读 Can't return anonymous type from method? Really? .

免责声明:即使我链接的文章确实显示了一种解决方法,但这并不意味着这样做是个好主意。我强烈反对您使用这种方法,因为创建常规类型会更安全且更易于理解。

关于c# - 有没有办法从方法中返回匿名类型?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1329672/

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