我想使用此代码:
List<U> SelectAll<T>() where T : class;
问题是我要传递T类型并获取U类型但c#有T关键字但没有U关键字。我可以传递T类型广告获取接口declration中的另一种类型&gt;
感谢
对不起,我在这里发帖答案,但我想给你看代码: 我正在写这段代码:
interface IRepoitory<T> where T : class
{
T CreateInstance();
IEnumerable<U> SelectAll();
我能写什么而不是“U”? 当我的Impelement界面和我有这个代码:
IEnumerable<TResult> SelectAll<TResult>();
在实现接口的类中,我无法返回任何类而不是TResult 感谢
答案 0 :(得分:3)
T
不是C#中的关键字 - 它只是类型参数的常规名称。如果要指定多个类型参数,则可以非常轻松地执行此操作:
public static List<U> SelectAll<T, U>() where T : class
(诚然,不清楚数据来自何处或T
将如何使用。)
通常使用T键入参数 T或 start ,因此您可能需要:
public static List<TResult> SelectAll<TResult>() where T : class
如果你能澄清你想要做什么,我们可以提供更多帮助。
答案 1 :(得分:2)
public static List<TResult> SelectAll<T, TResult>(T inParam) where T: class
{
return new List<TResult>();
}
你想要的吗?如果您不知道结果的类型,则需要告诉方法编译器要返回的类型。这是使用SelectAll<T, TResult>