微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

有没有一种方法可以简化将字符串、对象添加到 Xamarin 中的资源字典的过程,以便我可以使用列表或数组来执行此操作?

如何解决有没有一种方法可以简化将字符串、对象添加到 Xamarin 中的资源字典的过程,以便我可以使用列表或数组来执行此操作?

当我尝试设置资源字典时,有没有一种方法可以将多个设置语句合并为一个

这是我现在正在做的一个例子:

Application.Current.Resources[nameof(Fonts.CarouselheadingFontSize)] = 24;
Application.Current.Resources[nameof(Fonts.CarouselSubheadingFontSize)] = 36;
Application.Current.Resources[nameof(Fonts.ContentLabelTextFontSize)] = 13.5 * Fs;

我所做的是创建一个方法来设置这些:

private void SetResource(string keyName,object v)
{
    Application.Current.Resources[keyName] = v;
}

像这样使用它:

SetResource(nameof(Fonts.ButtonLinkLabelTextFontSize),15 * Ms);
SetResource(nameof(Fonts.CarouselFooterFontSize),16);

但是有没有办法可以进一步简化此设置,如下所示:

SetResources((nameof(Fonts.ButtonLinkLabelTextFontSize),15 * Ms),(nameof(Fonts.CarouselFooterFontSize),16));

注意资源字典是

IDictionary<string,object>

解决方法

您可以将元组与 params 结合使用:

private void SetResources(params (string,object)[] resources)
{
    foreach(var (key,value) in resources)
    {
        Application.Current.Resources[key] = value;
    }
}

然后您可以这样称呼它(在您的示例中是如何使用的):

SetResources((nameof(Fonts.ButtonLinkLabelTextFontSize),15 * Ms),(nameof(Fonts.CarouselFooterFontSize),16));

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。