gpt4 book ai didi

c# - 强制执行日期时间类型

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

我们正在编写一个可供其他团队访问的 dll。 我们的要求之一是每个传递的 DateTime 都有一个 DateTimeKind.Utc。

但是,我们并未强制执行此要求,这会导致错误。所以我们想知道我们如何执行此操作

我们有一些想法:

  • 编写一个方面来检查传递给方法的每个参数。当 Kind != UTC 时抛出异常。这有效,但当您传递包含 DateTime 的对象时无效。

  • 使用自定义对象 UtcDateTime 更改我们所有的日期时间。

这可能有效,但需要确保我们替换每个 DateTime 和对日期时间的所有调用。看起来像这样:

public class UtcDateTime
{
private DateTime _dateTime;
public UtcDateTime(DateTime dateTime)
{
if(dateTime.Kind != DateTimeKind.Utc)
{
throw new ArgumentException();
}
_dateTime = dateTime;
}
}

有什么更好的方法吗?

最佳答案

Change all our DateTimes with a custom object, UtcDateTime.

如果您想采用这种方式并将 DateTime 替换为其他内容,您不妨使用包含时区信息的 DateTimeOffset

关于c# - 强制执行日期时间类型,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20001773/

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