【发布时间】:2011-12-20 10:10:26
【问题描述】:
我队友的以下代码有效:
public T Get<T, V>(V repo, string pk, string rk)
where T : Microsoft.WindowsAzure.StorageClient.TableServiceEntity
where V : IAzureTable<T>
{
try
{
var item = repo.GetPkRk(pk, rk);
if (item == null) throw new Exception(); return (T)item;
}
catch (Exception ex)
{
_ex.Errors.Add("", typeof(T).Name + rk + " does not exist");
throw _ex;
}
}
调用代码:
var account = base.Get<Account, IAzureTable<Account>>(_accountRepository, pk, rk);
可以简化吗。这里唯一的类型变量是“Account”,我想知道 T 和 V 类型是否可以合并为一个,因为 V 仅取决于 T。
【问题讨论】: