为什么使用匿名类型而不是创建类[重复]

2023-11-22

我正在重构一个旧的应用程序,它使用动态内联 SQL,从大型 Oracle 数据库中提取数据。我创建了一个运行良好的存储过程(PL/SQL)。由于它只有一行(数据行),我让它返回一个数据行。该类驻留在 DAL 中。

当我重构东西时,我想我应该将数据库(在 DAL 中)与业务层隔离(使用 linQ)。我的第一个想法是创建一个对象来包含返回的数据行。

我的一位同事推荐的匿名类型,我不熟悉。在我迄今为止完成的阅读中,它看起来很简单。如果我仍然必须使用匿名类型放置字段名和字段类型,我只是看不到其中的值。

我错过了什么吗?如果我返回数据集/数据表,使用匿名类型会更有价值吗?


匿名类型被设计为在创建它们的范围内使用。其他作用域不应该知道该匿名类型的定义,因此,由于您希望从方法返回该对象,因此匿名类型是不合适的。

一般来说,这个想法是该对象仅在一两个地方使用,所有这些都在同一个方法中,并且它的使用非常简单明了,以至于不需要创建新的命名类型。它们也是不可变的,并且在 C# 中创建不可变对象......更冗长。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

为什么使用匿名类型而不是创建类[重复] 的相关文章

随机推荐