如何编写代码以获取类的所有属性?

阿夫扎尔·艾哈迈德·泽山(Afzaal Ahmad Zeeshan)

我有一个程序,我想根据一个值创建对象的新实例,然后取值,然后搜索列表,然后使用该列表创建新实例。

好吧,它进行得很好。但是有一个问题,我必须全部手动编写它们,并且要花很长时间。我想知道是否有更好的方法可以做到这一点,这是我拥有的C#代码

public Account (int userId) {
    // here is look for the account
    // inside a List<Account> which returns the account
    // then I update the values for that instance, 
    this.AccountLockedSince = account.AccountLockedSince;
    this.AuthenticationToken = account.AuthenticationToken;
    this.CreateDate = account.CreateDate;
    this.IsLocked = account.IsLocked;
    this.IsVerified = account.IsVerified;
    this.PasswordResetDate = account.PasswordResetDate;
    this.PasswordResetToken = account.PasswordResetToken;
    this.RequireEmailVerification = account.RequireEmailVerification;
    this.TokenExpires = account.TokenExpires;
    this.UserId = account.UserId;
}

..如您所见,这些都是Account类的所有属性,而我已经对其进行了更新,但这不是有效的方法。C#.NET框架中有任何内置功能可以处理此问题吗?

罗伯特·哈维

尝试MemberwiseClone

MemberwiseClone方法通过创建新对象,然后将当前对象的非静态字段复制到新对象来创建浅表副本。如果字段是值类型,则将执行该字段的逐位复制。如果字段是引用类型,则引用被复制,但引用的对象不是;否则,引用对象将被复制。因此,原始对象及其克隆引用相同的对象。

如果您需要深层副本,而不是浅层副本,请尝试使用序列化来创建深层副本

您还可以使用Reflection获取和设置属性。请参见使用反射进行深拷贝

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

如何获取一个类的所有属性

如何从多个类中获取所有相同的属性?

如何仅在类中获取所有属性名称

如何提取/获取本体中的所有术语(类/属性)

如何修改我的代码以查找具有特定类的所有<a>标签的所有特定属性

获取Python中类的所有属性

获取类的所有可用属性

从类中获取所有静态属性

获取sencha类的所有静态属性

SPARQL从类或个人获取所有属性

编写cypher并获取Java中所有属性的正确方法

如何获取所有类的tcmalloc静态

我如何编写可向下滚动到结尾的Chrome扩展的JavaScript代码(我想获取所有Facebook朋友列表)

如何编写python代码来获取Odoo计算字段中特定时期内所有销售订单的总和?

如何在单个集合中获取grails域类的所有持久属性及其约束?

如何在python中以列表的形式获取类的所有属性

如何使用OWL API获取类的所有数据属性?

如何在同一个基类的方法中获取所有属性?

如何使用泛型类型参数获取类的所有属性

如何获取属于 Python 3 中特定类的所有属性(继承的除外)的值

犀牛:如何从ScriptableObject获取所有属性?

如何获取所有Wikidata属性的列表?

如何编写xsl来获取所有重复标签的值?

如何编写协议扩展以从Swift枚举获取所有rawValues

如何编写 Python 来获取所有 Gmail 邮件 ID?

获取所有CSS类的背景和颜色属性值

Swift 获取泛型类中的所有属性

获取类属性中的所有类名

从Moose类获取所有属性作为哈希的更好方法