将类转换为另一个类或将类转换为另一个类
我的问题显示在此代码中
我有这样的课
public class maincs
{
public int a;
public int b;
public int c;
public int d;
}
public class sub1
{
public int a;
public int b;
public int c;
}
public void methoda (sub1 model)
{
maincs mdata = new maincs(){a = model.a , b = model.b , c= model.c} ;
// is there is a way to directly cast class sub1 into main like that
mdata = (maincs) model;
}
没有找到相关结果
已邀请:
9 个回复
赐黄
转换为类
并自动使系统通过共享属性名称理解赋值?” 选项1:使用反射 缺点:它会比你想象的更慢。 选项2:使一个类派生自另一个,第一个具有共同属性,另一个具有共同属性。 缺点:加上!如果您在应用程序中为两层执行此操作,则两个层将耦合! 让我们:
现在这里是Object类型的扩展:
现在你像这样使用它:
方法转换检查两个对象之间的公共属性并自动执行赋值。
蜗仓馈
然后,它允许你做类似的事情
辩谷变充
要么:
然后,它允许你做类似的事情
骚瓤
然后你可以保留一个sub1列表并将其中一些转换为mainc。
芦歉竭皑
另一种选择是使用具有a,b和c属性的接口,并在两个类上实现接口。然后将methoda的参数类型作为接口而不是类。
泪琉踞檄
呼叫方法就像,
它会将
复制到
。
漂截嘘
犀耽澄协吻
吠强祷豪硅
图片描述