【发布时间】:2015-08-08 11:43:40
【问题描述】:
我的类库中有一个数据协定“StudentInformation”,如下所示:
public class StudentInformation
{
public int StudentId { get; set; }
public bool CanChangeBus { get; set; }
public List<int> AvailableBuses { get; set; }
}
public class BusChangeRequestModel
{
public StudentInformation StudentInfo { get; set; }
...
...
}
public class BusChangeResponseModel
{
public StudentInformation StudentInfo { get; set; }
...
}
Request 模型发送 StudentId,类库处理信息并填充属性“CanChangeBus”和“AvailableBuses”,然后在响应模型中返回。
我想从请求模型中隐藏属性“CanChangeBus”和“AvailableBuses”。如果我将这些属性的设置器更改为“内部”,则无法通过调用应用程序设置属性,但它们仍然可见。如何在调用应用程序的请求模型实例时隐藏它们?
【问题讨论】:
-
要真正隐藏它们,您应该为不暴露它们的请求使用不同的类。
-
使用继承 + 保护而不是公共
标签: c# properties hide visibility