将var值传递给另一个类

时间:2017-04-26 09:32:40

标签: c#

我有这个定义局部变量的代码示例:

private void btnFindName_Click(object sender, EventArgs e)
{
    var query = db.Users.AsQueryable();
    query = query.Where(x => x.name == txtName);
    userBindingSource.DataSource = query.ToList();
}

下一个方法从我的绑定源中对所有用户进行排序:

private void sortToolStripMenuItem_Click(object sender, EventArgs e)
{
    userBindingSource.DataSource = db.Users.OrderBy(x => x.name).ToList();
}  

我想重写此方法,以便仅将在第一种方法中获得的用户排序为' var query' (不是所有的人)。我的想法是有这样的事情:

userBindingSource.DataSource = query.OrderBy(x => x.name)。ToList();

在这种情况下,如何将查询的值从第一种方法传递给第二种方法?

谢谢。

1 个答案:

答案 0 :(得分:1)

不要让它成为本地的:

private IQueryable<User> _query;

private void btnFindName_Click(object sender, EventArgs e)
{
    _query = db.Users.AsQueryable();
    _query = _query.Where(x => x.name == txtName);
    userBindingSource.DataSource = _query.ToList();
}

private void sortToolStripMenuItem_Click(object sender, EventArgs e)
{
    userBindingSource.DataSource = _query.OrderBy(x => x.name).ToList();
}  

绝对不是做你所针对的最佳方式,但这可以回答你的具体问题