Trong Visual Studio tôi có thể nhấp chuột phải vào một giao diện và chọn Thực hiện Giao diện hoặc Triển khai Giao diện một cách rõ ràng.
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(); }
}
}
Sự khác biệt duy nhất tôi thấy giữa hai là tên Giao diện được thêm vào các thuộc tính và phương thức giao diện khi chúng được tạo nếu bạn chọn Thực hiện Giao diện một cách rõ ràng.
Tôi thấy nó làm cho mã dễ đọc hơn một chút vì tôi có thể thấy phương thức / thuộc tính đó đến từ đâu, tuy nhiên điều này có tạo ra sự khác biệt nào trong cách lớp được sử dụng hoặc biên dịch không? Và nó có thực sự quan trọng nếu tôi thực hiện các giao diện của mình ngầm hay rõ ràng không?