如何从自定义模型活页夹中删除魔术弦?

发布于 2024-09-26 03:26:28 字数 303 浏览 3 评论 0原文

我现在已经编写了几个自定义模型绑定程序,并且意识到我已经陷入了依赖魔术字符串的陷阱,例如:

    if (bindingContext.ValueProvider.ContainsPrefix("PaymentKey"))
    {
        paymentKey = bindingContext.ValueProvider.GetValue("PaymentKey").AttemptedValue;
    }

我希望能够使用表达式来强类型前缀名称,但不知道如何做,并会感谢一些帮助。

谢谢。

I've written a couple of custom model binders now, and have realised that I've fallen into the trap of relying on magic strings, e.g.:

    if (bindingContext.ValueProvider.ContainsPrefix("PaymentKey"))
    {
        paymentKey = bindingContext.ValueProvider.GetValue("PaymentKey").AttemptedValue;
    }

I'd like to be able to use an expression to strongly-type the prefix names, but can't figure out how, and would be grateful for some assistance.

Thanks.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

打小就很酷 2024-10-03 03:26:28

您正在寻找的是 bindingContext.ModelName 所以您的代码可能会变成:

 if (bindingContext.ValueProvider.ContainsPrefix(bindingContext.ModelName))
    {
        paymentKey = bindingContext.ValueProvider.GetValue(bindingContext.ModelName).AttemptedValue;
    }

What you are looking for is bindingContext.ModelName so your code could become:

 if (bindingContext.ValueProvider.ContainsPrefix(bindingContext.ModelName))
    {
        paymentKey = bindingContext.ValueProvider.GetValue(bindingContext.ModelName).AttemptedValue;
    }
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文