Подтвердить что ты не робот

Интерфейс С#, определяющий общий тип возврата

У меня есть что-то вроде:

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

Возможно ли это?

4b9b3361

Ответ 1

Если весь интерфейс должен быть общим:

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

Если только метод должен быть общим:

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

Ответ 2

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

Тадаа:)!

Или, альтернативно, вы можете просто вернуть System.Object и отбросить его на все, что хотите.

Ответ 3

Если вы не хотите, чтобы весь интерфейс (IExample) был общим, вы также можете сделать это

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