作者:居生扬_977 | 来源:互联网 | 2022-10-26 16:52
我正在尝试创建一个接口,该接口返回实现它的实例的修改后的副本,并且不修改原始实例。
public interface ICensoreable {
T GetCensored();
}
和实现的对象
public class User:ICensoreable {
public User(User copyFrom) {
this.name = copyFrom.name;
this.password = copyFrom.password;
}
public string name;
public string password;
public User GetCensored() {
User result = new User(this);
result.password = null;
return result;
}
}
有什么方法可以在 GetCensored不会修改User(或T)实例的接口上强制执行?