gpt4 book ai didi

C#泛型,传递类

转载 作者:太空宇宙 更新时间:2023-11-03 20:33:49 26 4
gpt4 key购买 nike

我就是不知道如何用 C# 编写等效的接口(interface)。

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 是数据类数据上下文(linq to sql)。但我在 T 下看到一条红线,上面写着:类型“T”必须是引用类型才能将其用作参数。

最佳答案

泛型参数可以放在接口(interface)定义中:

public interface IDAO<T>
{
T Find(object key);
List<T> Get(T c);
void Persist(T obj);
}

关于C#泛型,传递类,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6026964/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com