gpt4 book ai didi

asp.net-mvc - ASP.NET MVC : Filters nullable parameter

转载 作者:行者123 更新时间:2023-12-03 19:04:28 25 4
gpt4 key购买 nike

我正在尝试使用可为 null 的日期时间和 double 作为 actionfilter 的参数,但它给出了以下错误:

'Propertyname' is not a valid named attribute argument because it is not a valid attribute parameter type

我以为快速谷歌一下就能解决它,但令我惊讶的是我找不到很多关于它的信息。

这是我的过滤器的代码。

public class AddToSitemap : ActionFilterAttribute
{
public string Changefreq { get; set; }
public DateTime? Lastmod { get; set; }
public double? Priority { get; set; }
}

提前致谢。

最佳答案

这里是 the compiler error on the MSDN .

根据Attributes Tutorial,您只能使用以下类型:

Attribute parameters are restricted to constant values of the following types:

- Simple types (bool, byte, char, short, int, long, float, and double)
- string
- System.Type
- enums
- object (The argument to an attribute parameter of type object must be a constant value of one of the above types.)
* One-dimensional arrays of any of the above types

这意味着你在你的情况下不能使用:

  1. 可空 double 。
  2. 可为空的日期时间。
  3. 日期时间。

我建议使用 intenumeration 作为优先级,因为优先级听起来不是 double 的好选择。

您可以通过将其类型更改为 long 并为其分配 Ticks 来解决 DateTime。
但是我怀疑 C# 是否允许您在应用属性时为属性分配非常量值(并且 new DateTime(1234,5,6).Ticks 从这个角度来看不是常量)。

关于asp.net-mvc - ASP.NET MVC : Filters nullable parameter,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1359547/

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