从集合自动创建属性

本文关键字:创建 属性 集合 | 更新日期: 2023-09-27 17:57:29

我正在从事的项目将后端源的大量数据提取到各种集合(字典,可观察集合等(中。为了使此数据更易于访问,我们将这些集合项公开为属性。

这将创建大量样板代码,以将这些属性映射到其后端字段。我看过自动映射器,它似乎可能是解决方案的一部分......但听起来它仍然需要手动创建属性列表。

理想情况下,我想要的是一种将集合项公开为属性的通用方法。(所有集合项都是强类型的,并且其键需要的属性名称是什么(。

感谢您的帮助。

更新:对于那些寻找代码示例的人:

Dictionary<string,Foo> myDictionary;
myDictionary.Add("MyPropertyName",new Foo());

我想基本上做:

 myDictionary.MyPropertyName

以访问字典中的相应值。

从集合自动创建属性

与其具有单个属性,不如使用带有字符串的可索引属性作为每个属性的名称更有意义,并且在内部,类会将字符串映射到某个后端源。

通常,您将从 DynamicObject 派生类型,这提供了此行为的模板。

在即将推出的 C# 版本中(您可以获取 Roslyn 的预览版或源代码(,他们引入了新的语法来启用"动态"属性查找,使用语法x.$propertyName,这将扩展到x["propertyName"]