Hi,
why doesn't this compile:
class Program
{
public static void Main()
{
ClassA classA = new ClassA();
classA.DoSomethingOnA().DoSomethingOnB();
}
}
class ClassA : InterfaceA
{
public ClassB DoSomethingOnA() // <-- Error
{
Console.WriteLine("DoSomethingOnA");
return (new ClassB());
}
}
class ClassB : InterfaceB
{
public void DoSomethingOnB()
{
Console.WriteLine("DoSomethingOnB");
}
}
interface InterfaceA
{
InterfaceB DoSomethingOnA();
}
interface InterfaceB
{
void DoSomethingOnB();
}
ClassB is always InterfaceB, so in my opinion it should compile.
Thx