gpt4 book ai didi

c# - 使用哪种模式将所有属性从父类实例复制到子类实例?

转载 作者:行者123 更新时间:2023-11-30 14:02:13 37 4
gpt4 key购买 nike

我强烈觉得我正在寻找的是非常基本的东西,但是现在我的脑海里没有什么聪明的东西,所以我请求你的帮助。

有一个基类A:

class A 
{
string Code {get;set;}
}

还有一个 child blass B:

class B : A 
{
DateTime ValidFrom {get;set;}
DateTime? ValidTo {get;set;}
}

假设现在有一个类 A 的实例,例如从 Repository 加载:

A a = Repository.GetById(1);

获取 B 的实例的最可取的方法是什么,该实例派生出 a 当前具有的所有值(请记住,可能会将更多属性添加到两个类中)?这种常见模式有名称吗?

谢谢你的想法。

最佳答案

你真正需要的是向下转型,但不幸的是,这在 C# 中是不允许的。

一个简单的解决方案是有一个构造函数:

public B (A a){
...
}

关于c# - 使用哪种模式将所有属性从父类实例复制到子类实例?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6397884/

37 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com