Khi tôi xác định một giao diện có chứa một chỉ ghi tài sản:Có thể triển khai thực hiện setter tài sản một cách rõ ràng trong khi có một getter công khai không?
public interface IModuleScreenData
{
string Name { set; }
}
và cố gắng (ngây thơ) thực hiện nó một cách rõ ràng với một ý định cho tài sản để cũng có một getter công bố công khai:
public class ModuleScreen : IModuleScreenData
{
string IModuleScreenData.Name { get; set; }
}
sau đó tôi nhận được lỗi sau:
Error 'IModuleScreenData.Name.get' adds an accessor not found in interface member 'IModuleScreenData.Name'
lỗi này là nhiều hay ít mong đợi, tuy nhiên, sau khi cú pháp thay thế này:
public class ModuleScreen : IModuleScreenData
{
public string Name { get; IModuleScreenData.set; }
}
không biên dịch được, tôi cho rằng những gì tôi đang cố gắng thực hiện không thực sự khả thi. Tôi có đúng không, hoặc có một số cú pháp bí mật
sốt
sau cùng không?
Tôi đồng ý với ghi chú bên, mặc dù cách khác vòng - giao diện với thuộc tính chỉ đọc, được thực hiện bởi một lớp tài sản đó có thể ghi được -, mà giải pháp của bạn cũng được giữ, có thể chấp nhận được và được cho là phổ biến hơn nhiều. –
Cảm ơn vì điều này ... –