我想要一个对象的多个版本,在属性上具有不同的访问修饰符
例如,我可能有一个用户类-
public abstract class UserInfo
{
internal UserInfo()
{
}
public virtual int ID { get; set; }
public virtual string Password { internal get; set; }
public virtual string Username { get; set; }
}
public class ReadUserInfo : UserInfo
{
internal ReadUserInfo()
{
}
override public int ID { get; internal set; }
override internal string Password { get; set; }
override public string Username { get; internal set; }
}
public class NewUserInfo : UserInfo
{
internal NewUserInfo()
{
ID = -1;
}
//You get the Idea
}
这是我可以实现的,还是我必须以更程序化的方式控制访问?