Использование параметизированных классов - C#

Формулировка задачи:

Подскажите как правильно использовать параметизированные классы. Вот, допустим, я декларирую класс подобным образом:
public class Foo<T>
{
  public int result()
  {
    return 0;
  }
}
public class Foo<T>
{
  public string result()
  {
    return "0";
  }
}
Далее хочу использовать так:
var bar = new Foo<int>();
Console.WriteLine( "" + bar.result() );
Но получу ошибку о неявном использовании метода result().

Код к задаче: «Использование параметизированных классов - C#»

textual
public interface IResultProvider<out T>
{
   T Result();
}
 
public class IntFoo : IResultProvider<int>
{
   public int Result()
   {
      return 0;
   }
}
 
public class StringFoo : IResultProvider<string>
{
   public string Result()
   {
      return "0";
   }
}

15   голосов, оценка 3.667 из 5


СОХРАНИТЬ ССЫЛКУ