如何返回具有不同类型的参数

本文关键字:同类型 参数 何返回 返回 | 更新日期: 2023-09-27 18:33:54

我有什么:
1. XAML
中的文本块2. 来自包含日期时间的数据库的查询?键入数据。

我做什么:
1. 我用日期时间声明一个类"我的类"?名为"myDate"
的参数
我想要
什么1. 在文本块中显示我的日期 [我知道]
2.当"myDate"的值为空时,在文本块中显示一个字符串。[我不知道,因为 Get 方法只能返回 DateTime? 类型值,而不能返回 String 类型。

如何返回具有不同类型的参数

尝试将

绑定与文本块一起使用,如下所示:

<TextBlock Text="{Binding myDate, TargetNullValue='Your null message'"/>

您应该编写一个转换器,该转换器将执行"is null"检查并在检查时返回信息字符串。

这将允许你使用标准数据绑定直接从 XAML 执行此操作,而无需代码隐藏文件中的任何其他代码。

声明一个字符串变量;如果myDate不为 null,则为其分配日期的值 - 否则将其设置为默认值。例子:

string stringToShow = null;
if(myDate.HasValue)
{
  stringToShow = myDate.Value.ToString();
}
else
{
  stringToShow = "other string";
}

或者,更简洁地使用三元

string stringToShow = myDate.HasValue ? myDate.Value.ToString() : "other string";

然后在文本块中显示stringToShow而不是myDate。最后,你可以把它包装在一个扩展方法中,使其非常容易调用:

public static string ToSpecialString(this DateTime? date)
{
  return myDate.HasValue ? myDate.Value.ToString() : "other string";
}

然后,您只需在前端调用myDate.ToSpecialString()即可。