【发布时间】:2019-10-17 05:38:53
【问题描述】:
谁能判断写入属性的值是否被视为硬编码值。
例如 customerId 写在 JsonProperty
{
[JsonProperty("customerId")]
public int CustomerId { get; set; }
[JsonProperty("name")]
public string Name { get; set; }
[JsonProperty("phoneNumber")]
public long PhoneNumber { get; set; }
}
【问题讨论】:
-
当然它们是硬编码的值。为什么在这种情况下这是一件坏事?
-
用例是什么?如果您在启动时将值从文件加载到属性中,恕我直言,它们不是硬编码的。如果你用一个常量字符串填充它们,它们就是。它不依赖于属性本身。
-
@Markus 你怎么能那样做?属性是常量值。你可能做到的唯一方法是,如果你有一些东西可以在编译时注入它们。
-
在 c# 中,属性是类型的一部分,就像方法和属性名称、接口、访问修饰符以及构成类型的所有其他内容一样。你会认为你的方法名称是“硬编码的”吗?
-
哇,废话,我的大脑似乎处于“暂停”状态。我混合了属性和属性:/这些当然是硬编码的。
标签: c# attributes hardcoded