原来的类如下:public class User{
private string uid;
public User(string uid){
this.uid = uid;
}public User(LoginUser u) : this(u.uid){}// 通过this重用代码
}现在有个问题,传入的LoginUser 可能为null,所以第二个构造函数可能出现异常
请教如何实现加条件实现重用
比如如何实现下面的功能:
public User(LoginUser u){
if(u != null)
this(u.uid);
}
private string uid;
public User(string uid){
this.uid = uid;
}public User(LoginUser u) : this(u.uid){}// 通过this重用代码
}现在有个问题,传入的LoginUser 可能为null,所以第二个构造函数可能出现异常
请教如何实现加条件实现重用
比如如何实现下面的功能:
public User(LoginUser u){
if(u != null)
this(u.uid);
}
public User(LoginUser u){
if(u != null)
this.uid =u.uid;
}
谢谢各位
{
new User(u.uid);
}?
和User
是没有任何关系的2个类
觉得繁琐了点
public static User CreateInstance(LoginUser u)
{
return u==null? new User(""):new User(u.uid);
}
private string uid;
public User(string uid){
if(uid != null && uid.Length >0)//判非空
this.uid = uid;
}
//LoginUser为Null时,传递空字符串,上面构造函数加判空操作
public User(LoginUser u) : this(u == null?"":u.uid){}// 通过this重用代码
}