gpt4 book ai didi

c# - 创建推断 ResourceType 的自定义 DisplayAttribute

转载 作者:太空宇宙 更新时间:2023-11-03 15:15:02 25 4
gpt4 key购买 nike

在 C#6 中,使用 nameof() 关键字,现在可以创建使用本地化的类型安全 Display 属性。(另见 DisplayName attribute from Resources?)

结果会是这样的:

    [Display(NameRes = Localization.Account.MinPasswordLength), ResourceType = typeof(Localization.Account))]
public int MinPasswordLength { get; set; }

但是,在为数十个属性键入此内容后,我觉得一定有更简单的方法。每次我(几乎)输入相同的信息两次。

我的问题是:如何创建自定义 DisplayName 属性以从名称信息推断 ResourceType?

代码看起来像这样:

    [Display(NameResource = Localization.Account.MinPasswordLength)]
public int MinPasswordLength { get; set; }

知道这是否可能吗?如果是这样:怎么做?

最佳答案

一种方法是定义另一个只定义资源类型的属性。

您将此属性放入类定义中。在资源搜索期间,您将检查类型主机以确定资源类型。

示例:

[DisplayResourceHost(typeof(Localization.Account))]
public class ViewModel
{
[Display(NameResource = Localization.Account.MinPasswordLength)]
public int MinPasswordLength { get; set; }
}

关于c# - 创建推断 ResourceType 的自定义 DisplayAttribute,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39306140/

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