我有一个这样的方法:C#通过通用的参数
private Contact GetContactFromDbReaderWithSingleResult(DbDataReader dbReader)
{
if (dbReader.HasRows)
{
return new DataReaderReflection().DataReaderToEntity<Contact>(dbReader)[0];
}
return null;
}
,然后我能有这样一个非常类似的方法:
private Email GetEmailFromDbReaderWithSingleResult(DbDataReader dbReader)
{
if (dbReader.HasRows)
{
return new DataReaderReflection().DataReaderToEntity<Email>(dbReader)[0];
}
return null;
}
的DataReaderToEntity-方法的签名是:
public List<T> DataReaderToEntity<T>(IDataReader dr) where T : new()
现在我想创建一个通用变体GetGenericEntityFromDbReaderWithSingleResullt
。
我的做法看起来像,但它不正确:
private object? GetEntityFromDbReaderWithSingleResult<T>(DbDataReader dbReader)
{
if (dbReader.HasRows)
{
return new DataReaderReflection().DataReaderToEntity<typeof(T)>(dbReader)[0];
}
return null;
}
还在学习,虽然应对仿制药...... 我在做什么错?
提前致谢!
它是'.DataReaderToEntity()'' –
Rabban
DataReaderToEntity'应该只是'DataReaderToEntity '? –
DavidG
而方法返回类型应该只是'T',而不是'object''。 – HimBromBeere