C# 如何转换列表<;对象>;列出<;字符串>;?

C# 如何转换列表<;对象>;列出<;字符串>;?,c#,C#,我有一个返回对象列表的方法 public async Task<List<object>> FindAndSelectAsync(Expression<Func<LicenseModel, bool>> expression, Expression<Func<LicenseModel, object>> selectExpression, int startIndex = 0, int pageSize = 0)

我有一个返回对象列表的方法

 public async Task<List<object>> FindAndSelectAsync(Expression<Func<LicenseModel, bool>> expression, Expression<Func<LicenseModel, object>> selectExpression, int startIndex = 0, int pageSize = 0)
    {
        try
        {
            var db = new ArmanRahsakhtDataContext();
            var result = pageSize != 0 ? await db.License.Where(expression).OrderBy(m => m.Id).Select(selectExpression).Skip(startIndex).Take(pageSize).ToListAsync() : await db.License.Where(expression).Select(selectExpression).ToListAsync();
            return result;
        }
        catch (Exception ex)
        {

            throw ex;
        }
    }
public async Task find和selectasync(Expression-Expression,Expression-selectExpression,int-startIndex=0,int-pageSize=0)
{
尝试
{
var db=new ArmanRahsakhtDataContext();
var result=pageSize!=0?等待db.License.Where(表达式)。OrderBy(m=>m.Id)。选择(selectExpression)。跳过(startinex)。获取(pageSize)。ToListAsync():等待db.License.Where(表达式)。选择(selectExpression)。ToListAsync();
返回结果;
}
捕获(例外情况除外)
{
掷骰子;
}
}
我使用这个方法获取对象列表,我想把这个列表转换成一个列表

 var data = (await licenseService.FindAndSelectAsync(m => m.UserId == userId,
                m => m.Name)).Cast<String>().ToList();
var data=(wait licenseService.FindAndSelectAsync(m=>m.UserId==UserId,
m=>m.Name().Cast().ToList();

但是get error
特殊情况无效

而不是强制转换,为什么不更改方法签名以使方法通用?然后我们可以接受
Func
而不是
Func

public async Task find和selectasync(Expression-Expression,Expression-selectExpression,int-startIndex=0,int-pageSize=0)
然后就这样叫它

var data = (await licenseService.FindAndSelectAsync<string>(m => m.UserId == userId,
            m => m.Name)).ToList();
var data=(wait licenseService.FindAndSelectAsync(m=>m.UserId==UserId,
m=>m.Name)).ToList();

您的意思是“特殊演员阵容无效”吗?谢谢,没有办法转换吗?我不想改变方法
var data = (await licenseService.FindAndSelectAsync<string>(m => m.UserId == userId,
            m => m.Name)).ToList();