带开关盒的吸气功能?

Vel*_*tar 2 c# asp.net

public User getByField(string field, string stringToFilter)
{
    string fieldToReturn;
    switch (field)
    {
        case "id":
            fieldToReturn = "u.pk_user_id";
            break;
        case "username":
            fieldToReturn = "u.user_username";
            break;
    }

    var result = (from u in dc.Users
                  where fieldToReturn == stringToFilter
                  select fieldToReturn).Single();
    return result;
}
Run Code Online (Sandbox Code Playgroud)

我正在尝试使用一个开关盒为我的所有领域创建一个getter,因为否则我将不得不创建很多setter(这里显示的案例多于此处).但是当我尝试返回结果时,它表示它是一个字符串,而不是一个用户.我想这是因为我在LINQ查询中使用了一个字符串,但我已经尝试解决它,但无法弄明白该怎么做.

Abb*_*bas 5

本文中,作者解释了如何使用动态查询库(下载)实现与您类似的操作.