2

我在 Linq 语句中有一个对象“单词” (请参阅​​:“ from bee in world.Bees”),尽管在同一方法中该对象在前一行中被识别,但该对象“单词”未被识别。我现在不明白为什么会这样。我在我的代码中到处使用这个词对象没有问题。我对代码做了一些评论以突出问题......

以下是相关的代码片段:

public partial class Form1 : Form
{
    private World word;
    public Form1()
    {
        InitializeComponent();
        word = new World(new BeeMessage(SendMessage)); // BeeMessage is a delegate
        .......
    }

    private void SendMessage(int ID, string Message)
    {
        int count = word.Bees.Count; //this line works !! now error message            
        // LinQ selection
        var beeGroups =
          from bee in world.Bees        // The item word does not exists in the current context
          group bee by bee.CurrentState into beeGroup
          orderby beeGroup.Key
          select beeGroup;
          ..............
    }
[Serializable]
class World
{              
    public List<Bee> Bees;
    ......
}
4

2 回答 2

5

你的变量是word,你把world

 from bee in world.Bees //should be word.Bees

注意:我个人会将您的word变量重构为world...(要执行此操作,请右键单击单词并选择重构>重命名)

于 2013-07-27T11:13:04.743 回答
4

你在这里搞错了。

在这里改变你的可变世界

 from bee in world.Bees

from bee in word.Bees  
于 2013-07-27T11:13:56.200 回答