Varsayılan bir uygulama ile aşağıdaki arabirimi göz önünde bulundurun TestMethod
public interface TestInterface
{
public int TestMethod()
{
return 15;
}
}
Arama TestMethod
aşağıdaki sınıfta bir StackOverflowException neden olur:
public class TestClass : TestInterface
{
public int TestMethod()
{
return 1 + (this as TestInterface).TestMethod();
}
}
Şimdi bunun neden olduğunu anlıyorum ama bunun üstesinden gelmenin bir yolu var mı? Aşağı yukarı base.TestMethod()
sınıfın uygulanan arabirimlerinden birine başvurmak için mi?
Yöntemi Testınterface'de yeniden adlandırabileceğimi ve Testclass'ta bu şekilde referans verebileceğimi biliyorum, ancak bu, varsayılan uygulamaya başvurması gerekmeyen diğer sınıflar için sorunlara neden olur.