我已经使用以下通用来添加或更新记录:
public void AddOrUpdate<T, V>(T item, V repo)
where T : Microsoft.WindowsAzure.StorageClient.TableServiceEntity
where V : IAzureTable<T>
{
try
{
repo.AddOrUpdate(item);
}
catch (Exception ex)
{
_ex.Errors.Add("", "Error when adding");
throw _ex;
}
}
我需要的是一个类似的通用版本,它允许我检索记录并将其作为通用实现:
public Account GetAccount(string pk, string rk)
{
var account = _accountRepository.GetPkRk(pk, rk);
if (account == null)
{
_ex.Errors.Add("", "Account " + rk + " does not exist");
throw _ex;
}
return account;
}
有人可以解释我如何制作一个返回类T实例的泛型。我不熟悉如何使泛型返回值。我想我可以编写通用代码,但我不确定如何返回值。
答案 0 :(得分:1)
public T methodname<T>()
{
return TypeTobject;
}
答案 1 :(得分:1)
public T GetClassT<T>()
{
// do your processing here
var someObject = DoSomeProcessHere();
// ensure that your return object is of type T
return (T)someObject;
}