我有和界面如下:
public interface IData
{
String Name { get; set; }
}
以及实现它的 2 个类:
public class Data1 : IData
{
public String Name { get; set; }
}
public class Data2 : IData
{
public String Name { get; set; }
}
我需要防止获取Data2
实例的名称。编译器不允许以下所有形式:
internal String Name { get; set; }
private String Name { get; set; }
public String Name { private get; set; }
我确实理解为什么这不是明确可行的逻辑原因。将使用对已实现的访问修饰符没有任何线索的接口访问属性,如果找不到它,则会失败。
我的用例是Data1
和Data2
实例都应该能够使用使用IData
参数的方法(一些不Name
存在使用的方法),但是Data2
是敏感的,不应该直接访问。因此,我正在寻找一种解决方法。