gpt4 book ai didi

c# - 将属性名称存储在公共(public)常量字符串中是一种好习惯吗?

转载 作者:太空狗 更新时间:2023-10-30 01:09:28 25 4
gpt4 key购买 nike

为了保护我们自己免受由于任何属性重命名而导致的失败(假设您重新生成了 poco 类,因为您已经更改了相关 Db 表中的一些列名),对保留属性的常量字符串进行 decalre 是一个好习惯里面的名字?

public const string StudentCountPropertyName = "StudentCount";
public int StudentCount {get;set;}

例如:考虑一个DataBinding;在 DataFieldName 属性中显式键入属性名称的位置。

或者这不是一个好主意并且有更好更安全的方法?

最佳答案

恕我直言,将任何“魔术字符串”移动到常量始终是一个好主意。

您可以考虑使用 lambda 表达式来“选择”您的属性,例如:

GetDataFieldName(studentCollection => studentCollection.Count)

您必须自己实现 GetDataFieldName,使用一些反射。您可以查看 MVC 中的 HtmlHelperExtensions 以了解它是如何完成的。这将是最安全的方法,它会在出现问题时为您提供编译时错误,并允许使用现有的重构工具轻松重命名属性。

关于c# - 将属性名称存储在公共(public)常量字符串中是一种好习惯吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6689128/

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