0

I have this interface

public interface TestInterface
{
   [returntype] MethodHere();
}

public class test1 : TestInterface
{
   string MethodHere(){
      return "Bla";
   }
}

public class test2 : TestInterface
{
   int MethodHere(){
     return 2;
   }
}

Is there any way to make [returntype] dynamic?

Timo Willemsen
  • 8,717
  • 9
  • 51
  • 82

2 Answers2

5

Either declare the return type as Object, or use a generic interface:

public interface TestInterface<T> {
    T MethodHere();
}

public class test3 : TestInterface<int> {
   int MethodHere() {
      return 2;
   }
}
x0n
  • 51,312
  • 7
  • 89
  • 111
4

Not really dynamic but you could make it generic:

public interface TestInterface<T>
{
    T MethodHere();
}

public class Test1 : TestInterface<string>
... // body as before
public class Test2 : TestInterface<int>
... // body as before

If that's not what you're after, please give more details about how you'd like to be able to use the interface.

Jon Skeet
  • 1,421,763
  • 867
  • 9,128
  • 9,194