我只是无法弄清楚如何在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