c# - 如何在一个类中两次使用 "override string ToString()"方法

标签 c# .net boolean tostring

我已将此方法用于我的类中定义的两个属性。属性是

public bool HasImage { get; set; }
public DateTimeOffset? StartDate { get; set; }


public override string ToString()
{
    string value = "";
    if (StartDate.HasValue)
    {
        if (StartDate == DateTime.Today.Date)
            value = "1 Day";
        else if (StartDate < DateTime.Today.Date)
            value = "Past Due";
    }
    return value;
}

HasImage属性如何使用这个方法,这里我不能去掉StartDate属性的方法。以上方法在导出结果到excel时调用。

最佳答案

ToString 的目的是创建对象本身的字符串表示形式。 IE。您不会为每个属性获得一个 ToString 方法。您获得该对象的一种方法。

如果您想将单个属性转换为字符串,您需要自己提供这些方法并根据需要显式调用它们。例如。类似于 StartDateAsStringHasImageAsString

关于c# - 如何在一个类中两次使用 "override string ToString()"方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23018272/

相关文章:

c# - 如何在 C# 中进行只进、只读的 WMI 查询?

ruby - 专有或 ruby 的关键字?

mysql - 在MYSQL中将文本转换为tinyint

c# - Linq - boolean - where 语句

c# - 用于从 3.1 迁移的 .NET Core 6 脚手架省略了多对多桥接表

c# - 使用 JSON.net 动态反序列化

c# - 调用Dispose不会清理对象C#使用的内存?

c# - 无法将派生类型转换为具有类型参数的基抽象类

c# - 使用 LINQ 迭代类属性

c# - 从 WCF 中的 web.config 获取 Sitecore "Site"数据