C# 将PropertyInfo强制转换为集合

C# 将PropertyInfo强制转换为集合,c#,casting,C#,Casting,如何强制转换集合属性以对其进行管理?请看附件中的图片。我需要按集合的名称获取集合,然后使用此集合添加、删除等 您不能将属性info(这只是有关属性的元数据信息)强制转换为其值类型;您必须通过GetValue方法 该方法将获取要从中检索的实例,如果该实例是静态的,则为null。结果是一个对象,然后您可以对其进行强制转换: ICollection collection = (ICollection)myCollectionProperty.GetValue(myEntity); 发布您的代码,而不

如何强制转换集合属性以对其进行管理?请看附件中的图片。我需要按集合的名称获取集合,然后使用此集合添加、删除等


您不能将
属性info
(这只是有关属性的元数据信息)强制转换为其值类型;您必须通过
GetValue
方法

该方法将获取要从中检索的实例,如果该实例是静态的,则为null。结果是一个
对象
,然后您可以对其进行强制转换:

ICollection collection = (ICollection)myCollectionProperty.GetValue(myEntity);

发布您的代码,而不是代码的图像(特别是以另一种语言显示错误消息的代码图像…@maccettura我通常发布代码。在这个问题上,为了更好地说明这个问题,我特意贴了一张图片。我对你的语言表示歉意,谢谢你的帮助。我的属性是一种
System.Collections.Generic.HashSet
类型。请你有一个更好的方法来达成我的目标好吗?@RubensMussiCury你需要更具体地说明你想要实现的目标;如果你需要通过反射获得字段(因为你知道名称,所以似乎不太可能…),这就是方法。请看这篇文章。我有“n”个类,其中包含一些已翻译属性的虚拟集合。我只是想通过ChangeTracker找到一种方法来处理添加过程,以便检查缺少哪些语言,并在保存之前将它们添加到我的实体翻译集合中。我可以采用强类型方式
MyEntity.MyEntityTranslations
并根据需要进行管理,但我希望为拥有此集合的所有实体创建此集合。