我只是無法弄清楚如何在c#中編寫等價的接口。c#泛型,傳遞類
的Java:
public interface DAO {
<T> T find(Class<T> c, Object key);
<T> List<T> get(Class<T> c);
<T> void persist(T object);
}
這是我嘗試迄今在C#中,問題是我需要的類來調用dataclassesdatacontext.GetTable<Class here>().ToList();
:
interface IDAO
{
T Find<T>(object key);
List<T> Get<T>(T c);
void Persist<T>(T obj);
}
我想實現這樣的:
public List<T> Get<T>() { return _dbx.GetTable<T>().ToList(); }
其中_dbx是dataclassda tacontext(linq to sql)。 但是我得到一個紅線下T說: 類型'T'必須是引用類型爲了使用它作爲參數。
除了'Get'方法(我沒有看到將T的實例傳遞給該方法的目的,它應該只是'Get ()'),你的界面看起來沒問題。你在哪裏發現問題? –
Groo
2011-05-17 06:30:18