我有一本字典,其中包含一个int
和一个Resource
类型的对象。 Resource
对象包含一个称为CreateNode()
的方法。如果我这样写一个foreach
循环:
foreach (var resourcePair in ResourceDictionary)
{
// call CreateNode() on each Resource object in dictionary pair
}
如何在字典中的每个Resource对象上调用
CreateNode()
方法?我尝试了以下操作,但是编辑器不喜欢它(说“无法解析符号”)。这是正确的,因为看来我正在尝试在该对上调用CreateNode
方法,而不是在作为该对一部分的对象上调用CreateNode()
方法。foreach (var resourcePair in ResourceDictionary)
{
resourcePair.CreateNode(ref xElement);
}
我只是不知道如何做到这一点。有人可以提供正确方向的指针吗?
最佳答案
您需要执行以下操作:
foreach (var resourcePair in ResourceDictionary.Values)
{
resourcePair.CreateNode(ref xElement);
}
您需要指定要访问的值(这是资源对象的集合),否则,您只是在访问没有CreateNode方法的KeyValuePair。