พิจารณาตามส่วนติดต่อกับเป็นค่าปริยายของ implementation TestMethod
public interface TestInterface
{
public int TestMethod()
{
return 15;
}
}
โทรมา TestMethod
ในการต่อสจะเป็นเพราะ StackOverflowException:
public class TestClass : TestInterface
{
public int TestMethod()
{
return 1 + (this as TestInterface).TestMethod();
}
}
ตอนนี้ฉันเข้าใจว่าทำไมเรื่องนี้แต่มันมีทางที่จะเข้าไปรอบๆมัน? บางอย่างอย่าง base.TestMethod()
สำหรับการอ้างอิงหนึ่งของคลาสคือกติดตั้งเพื่อใช้งานส่วนเชื่อมต่อ?
ฉันรู้ว่าฉันสามารถเปลี่ยนชื่อวิธีการอยู่ใน TestInterface และอ้างอิงถึงมันใน TestClass เป็นอย่างนั้นแต่มันจะมีปัญหาสำหรับอีกชั้นเรียนนั่นไม่ต้องการจะอ้างอิงค่าปริยาย implementation.