【问题标题】:best way to define default class property having large number of properties定义具有大量属性的默认类属性的最佳方法
【发布时间】:2015-08-06 18:08:04
【问题描述】:

当你有大量的类属性并且每个属性的默认值相同时,最好定义默认类属性。在这种情况下,我们可以循环设置默认值吗?如果是,我们该怎么做。

public class PathologyTest
{
    public string testId { get; set;}
    public string testName { get; set;}
    public string testDate { get; set;}
    public string testType { get; set;}
    ...
}

类似地,该类有大约 150 个属性,每个属性的默认值为“无效患者”。

目前我正在为每个属性做[System.ComponentModel.DefaultValue("invalid patient")]。有没有办法循环设置默认值。请建议最好的方法是什么?

【问题讨论】:

  • [System.ComponentModel.DefaultValue("invalid patient")] 不设置属性值;他们仍然有他们类型的默认值
  • DefaultValue 属性仅适用于设计器。您仍然需要自己设置预期的默认值。
  • 这意味着我做错了。感谢 cmets 的家伙。那么我该如何解决我的问题。请帮忙
  • 您已经在键入要创建 150 个属性,在构造函数中初始化这些值需要付出更多努力。没有丑陋的反射或类似的东西,没有简单的方法。
  • 为什么 testDate 是一个字符串?

标签: c# class properties


【解决方案1】:

所以 150 个属性
有人可以看一下代码就知道它在做什么

private string defaultValue = "default value"
private string testID = defaultValue;
public string TestId 
{ 
    get
    {
        return testID;
    }
    set 
    {
        testID = value;
    }
}

【讨论】:

    【解决方案2】:

    【讨论】:

    • 不,您不仅限于 ctor C# 5 及更早版本。您可以使用私有支持变量。
    猜你喜欢
    • 1970-01-01
    • 2014-01-09
    • 2012-01-08
    • 1970-01-01
    • 1970-01-01
    • 2019-12-19
    • 1970-01-01
    • 1970-01-01
    • 2013-04-10
    相关资源
    最近更新 更多