C#接口指定泛型返回类型

时间:2012-04-13 19:41:45

标签: c# generics interface

我有类似的东西:

public interface IExample
{
  int GetInteger()
  T GetAnything(); //How do I define a function with a generic return type???
^^^^^
}

这可能吗?

4 个答案:

答案 0 :(得分:47)

如果整个界面应该是通用的:

public interface IExample<T>
{
  int GetInteger();
  T GetAnything();
}

如果只有方法需要通用:

public interface IExample
{
  int GetInteger();
  T GetAnything<T>();
}

答案 1 :(得分:5)

public interface IExample<T>
{
   int GetInteger()
   T GetAnything();
}

Tadaa :)!

或者,您可以只返回System.Object并将其转换为您想要的任何内容。

答案 2 :(得分:3)

如果您不希望整个界面(示例)是通用的,那么您也可以这样做

public interface IExample
{
  int GetInteger();
  T GetAnything<T>();     
}

答案 3 :(得分:-2)

在最近的java版本中,它现在已经改变了。你不能T GetAnything<T>()。它&#39; S:

public interface IExample
{
  int GetInteger();
  <T> T GetAnything();
}