2011-12-20 3 views
1

私はすでにレコードを追加または更新するには、次の一般的なを使用します。私は必要なものC#でジェネリックを取得して値を返すにはどうすればよいですか?

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のインスタンスを返すジェネリックを作る方法を説明することができますか?ジェネリックスが値を返すようにする方法に慣れていません。私はジェネリックをコード化できると思いますが、値を返す方法についてはわかりません。

答えて

1
public T GetClassT<T>() 
{ 
    // do your processing here 
    var someObject = DoSomeProcessHere(); 

    // ensure that your return object is of type T 
    return (T)someObject; 
} 
関連する問題