c# - CustomAttribute:如何设置 DateTime.Now
问题描述
我正在寻找一种优雅的方法来将 DateTime.Now 的值设置为属性的值。
我有这个代码:
[MyValue(DateTime.Now)]
public DateTime? VertragDatum { get; set; }
但我收到语法错误并告诉我 Type DateTime 不是有效的属性参数类型。你知道如何做到这一点吗?
我的实现:
public class MyValueAttribute : Attribute
{
public string MyValue { get; }
public MyValueAttribute(DateTime myValue)
{
MyValue = myValue.ToString();
}
}
解决方案
DateTime 不是受支持的类型。
如此处引用的有效类型是:
属性类的位置参数和命名参数的类型仅限于属性参数类型,它们是:
- 以下类型之一:bool、byte、char、double、float、int、long、sbyte、short、string、uint、ulong、ushort。
- 类型对象。
- 类型 System.Type。
- 枚举类型,前提是它具有公共可访问性,并且它嵌套的类型(如果有)也具有公共可访问性(属性规范)。
- 上述类型的一维数组。
- 不具有这些类型之一的构造函数参数或公共字段不能用作属性规范中的位置参数或命名参数。
推荐阅读
- python - Tensorflow:AttributeError:“NoneType”对象没有属性“original_name_scope”
- java - Java:使用2个数组查找数组的第K大元素
- android - “缺少 autofillHints 属性”
- containers - Service Fabric - 使用 Docker Hub 作为容器注册表(现有的 .net 应用程序)
- python - 如何解决张量流中dynamic_partition的InvalidArgumentError?
- r - 在 r 包中重新导出数据集
- c# - 如何在 ASP.NET Core 2.1 的 API 模型中获取用户 IP 地址?
- html - 如果使用 display flex 属性,图像的缩放比例会因浏览器而异
- r - 带有 facet_wrap 的百分比直方图
- akka - Akka 升级监督策略阻止孩子