ใน Visual Studio ฉันสามารถคลิกขวาที่อินเทอร์เฟซและเลือกที่จะใช้อินเตอร์เฟสหรือใช้อินเตอร์เฟสได้อย่างชัดเจน
public class Test : ITest
{
public string Id // Generated by Implement Interface
{
get { throw new NotImplementedException(); }
}
string ITest.Id // Generated by Implement Interface Explicitly
{
get { throw new NotImplementedException(); }
}
}
ความแตกต่างเพียงอย่างเดียวที่ฉันเห็นระหว่างสองคือชื่ออินเทอร์เฟซถูกเพิ่มเข้ากับคุณสมบัติของอินเทอร์เฟซและวิธีการเมื่อพวกเขาสร้างถ้าคุณเลือกที่จะใช้อินเทอร์เฟซอย่างชัดเจน
ฉันพบว่ามันทำให้โค้ดอ่านง่ายขึ้นเล็กน้อยเนื่องจากฉันสามารถดูว่าวิธีการ / คุณสมบัตินั้นมาจากที่ใด แต่สิ่งนี้สร้างความแตกต่างในวิธีการใช้หรือการคอมไพล์ของคลาสหรือไม่? และมันจะสำคัญหรือไม่ถ้าฉันใช้อินเทอร์เฟซของฉันโดยนัยหรือชัดเจน?