ASP.NET Core API 如何在操作方法中将 ActionResult 转换为 T

2023-11-30

作为示例,请看下面的 API 操作代码:

[HttpGet("send")]
public ActionResult<string> Send()
{
    if (IsAuthorized())
    {
        return "Ok";
    }
    return Unauthorized(); // is of type UnauthorizedResult -> StatusCodeResult -> ActionResult -> IActionResult
}

我的问题是这里的数据转换是如何发生的?编译器如何不失败?


这是可能的,因为一种称为运算符重载的语言功能允许创建自定义运算符。 ActionResult 有这样一个执行:

public sealed class ActionResult<TValue> : IConvertToActionResult
{
       public TValue Value { get; }

       public ActionResult(TValue value)
       {
            /* error checking code removed */
            Value = value;
       }

       public static implicit operator ActionResult<TValue>(TValue value)
       {
           return new ActionResult<TValue>(value);
       }
}

public static implicit operatorIE。该方法提供了逻辑TValue to be 隐含地转换为 ActionResult 类型。这是一个非常简单的方法,可以创建一个新的ActionResult将值设置为名为的公共变量Value。此方法使此合法:

ActionResult<int> result = 10; <-- // same as new ActionResult(10)

这实质上为您在 Action 方法中所做的事情创建了语法糖,使其合法。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

ASP.NET Core API 如何在操作方法中将 ActionResult 转换为 T 的相关文章

  • 部署 MVC4 项目时出错:找不到文件或程序集

    过去 我只需使用 Visual Studio 2012 发布到 AWS 菜单项即可部署我的 MVC4 网站 到 AWS Elastic Beanstalk 现在 程序可以在本地编译并运行 但无法部署 从消息来看 它似乎正在寻找不在当前部署的
  • 自动从 C# 代码进行调试过程并读取寄存器值

    我正在寻找一种方法来读取某个地址的 edx 注册表 就像这个问题中所问的那样 读取eax寄存器 https stackoverflow com questions 16490906 read eax register 虽然我的解决方案需要用
  • 在 Xamarin Android 中将图像从 URL 异步加载到 ImageView 中

    我有一个包含多个项目的 ListView 列表中的每个项目都应该有一个与之关联的图像 我创建了一个数组适配器来保存每个列表项并具有我希望加载的图像的 url 我正在尝试使用 Web 请求异步加载图像 并设置图像并在加载后在视图中更新它 但视
  • C++ 求二维数组每一行的最大值

    我已经设法用这个找到我的二维数组的每一行的最小值 void findLowest int A Cm int n int m int min A 0 0 for int i 0 i lt n i for int j 0 j lt m j if
  • 如何在 WPF RichTextBox 中跟踪 TextPointer?

    我正在尝试了解 WPF RichTextBox 中的 TextPointer 类 我希望能够跟踪它们 以便我可以将信息与文本中的区域相关联 我目前正在使用一个非常简单的示例来尝试弄清楚发生了什么 在 PreviewKeyDown 事件中 我
  • 如何针对 Nancy 中的 Active Directory 进行身份验证?

    这是一篇过时的文章 但是http msdn microsoft com en us library ff650308 aspx paght000026 step3 http msdn microsoft com en us library
  • C# 用数组封送结构体

    假设我有一个类似于 public struct MyStruct public float a 我想用一些自定义数组大小实例化一个这样的结构 在本例中假设为 2 然后我将其封送到字节数组中 MyStruct s new MyStruct s
  • 当 Cortex-M3 出现硬故障时如何保留堆栈跟踪?

    使用以下设置 基于 Cortex M3 的 C gcc arm 交叉工具链 https launchpad net gcc arm embedded 使用 C 和 C FreeRtos 7 5 3 日食月神 Segger Jlink 与 J
  • Windows 窗体不会在调试模式下显示

    我最近升级到 VS 2012 我有一组在 VS 2010 中编码的 UI 测试 我试图在 VS 2012 中启动它们 我有一个 Windows 窗体 在开始时显示使用 AssemblyInitialize 属性运行测试 我使用此表单允许用户
  • 如何在 Team Foundation 上强制发表有意义的签入评论?

    我有一个开发团队有一个坏习惯 他们写道poor签入评论 当我们必须在团队基础上查看文件的历史记录时 这使得它成为一场噩梦 我已经启用了变更集评论政策 这样他们甚至可以在签到时留下评论 否则他们不会 我们就团队的工作质量进行了一些讨论 他们很
  • 我的 strlcpy 版本

    海湾合作委员会 4 4 4 c89 我的程序做了很多字符串处理 我不想使用 strncpy 因为它不会终止 我不能使用 strlcpy 因为它不可移植 只是几个问题 我怎样才能让我的函数正常运行 以确保它完全安全稳定 单元测试 这对于生产来
  • 更改窗口的内容 (WPF)

    我创建了一个简单的 WPF 应用程序 它有两个 Windows 用户在第一个窗口中填写一些信息 然后单击 确定 这会将他们带到第二个窗口 这工作正常 但我试图将两个窗口合并到一个窗口中 这样只是内容发生了变化 我设法找到了这个更改窗口内容时
  • 将应用程序从 Microsoft Access 迁移到 VB 或 C#.NET

    我目前正试图说服管理层需要将我们的应用程序之一移植到 NET 该应用程序已经发展成为 Access 中的一个庞然大物 SQL 后端 拥有 700 个链接表 650 个表单 子表单 130 个模块和 850 个查询 我几乎知道这样做的所有主要
  • 将日期参数传递给对 MVC 操作的 ajax 调用的安全方法

    我有一个 MVC 操作 它的参数之一是DateTime如果我通过 17 07 2012 它会抛出一个异常 指出参数为空但不能有空值 但如果我通过01 07 2012它被解析为Jan 07 2012 我将日期传递给 ajax 调用DD MM
  • 作为字符串的动态属性名称

    使用 DocumentDB 创建新文档时 我想设置属性名称动态地 目前我设置SomeProperty 像这样 await client CreateDocumentAsync dbs db colls x new SomeProperty
  • 如何在内存中存储分子?

    我想将分子存储在内存中 这些可以是简单的分子 Methane CH4 C H bond length 108 7 pm H H angle 109 degrees But also more complex molecules like p
  • 如何在 C# 中播放在线资源中的 .mp3 文件?

    我的问题与此非常相似question https stackoverflow com questions 7556672 mp3 play from stream on c sharp 我有音乐网址 网址如http site com aud
  • 更改显示的 DPI 缩放大小使 Qt 应用程序的字体大小渲染得更大

    我使用 Qt 创建了一些 GUI 应用程序 我的 GUI 应用程序包含按钮和单选按钮等控件 当我运行应用程序时 按钮内的按钮和字体看起来正常 当我将显示器的 DPI 缩放大小从 100 更改为 150 或 200 时 无论分辨率如何 控件的
  • 将 viewbag 从操作控制器传递到部分视图

    我有一个带有部分视图的 mvc 视图 控制器中有一个 ActionResult 方法 它将返回 PartialView 因此 我需要将 ViewBag 数据从 ActionResult 方法传递到 Partial View 这是我的控制器
  • 为什么 strtok 会导致分段错误?

    为什么下面的代码给出了Seg 最后一行有问题吗 char m ReadName printf nRead String s n m Writes OK char token token strtok m 如前所述 读取字符串打印没有问题 但

随机推荐

  • 限制 OpenFileDialog 的多选

    我有一个OpenFileDialog和它的MultiSelect财产是ON 我的问题是如何限制要选择的项目数量 例如仅 5 个项目 Thanks 您可以使用 FileOk 事件来检查用户单击 确定 按钮时选择的文件 如果您不满意 则显示一条
  • 使用 PHP GD 对 PNG 图像进行着色

    我有一个带有透明背景和白色圆圈的 PNG 图像 我正在尝试将白色圆圈着色为特定颜色 但我在使用此代码时遇到困难 src imagecreatefrompng circle png handle imagecolorclosest src 2
  • Keras:下载 Fashion_MNIST 数据时出错

    我正在尝试从 Fashion MNIST 下载数据 但出现错误 最初 它正在下载并正常工作 但我不得不终止它 因为我必须关闭计算机 当我再次打开该文件时 它给了我一个错误 我不确定问题是什么 但是否是因为我已经下载过一次数据的某些部分 而
  • 使用 MVC 3 依赖注入和 Ninject 2.2 将全局操作过滤器绑定到区域中的所有控制器

    由于我在此收到的帮助 我能够使用 ASP NET MVC 3 和 Ninject 2 2 将记录器对象注入到自定义 ActionFilterAttribute 中post 现在我想将自定义 ActionFilterAttribute 仅绑定
  • 将文件上传到 Google 云端硬盘?

    我按照此文档将文件上传到 Google 云端硬盘 https developers google com drive android files 现在 每次我想上传文件时 都会出现 Google Drive 的弹出窗口 询问我在哪里上传文件
  • PowerShell 递归搜索名称包含“...”的文件和文件夹

    我需要帮助来创建一个可以挽救我生命的脚本 我的备份软件出错了 因为我错误地设计了备份计划 而且我有很多命名文件 文件名或文件夹名称 2 编码冲突 我想递归搜索我的网络共享以查找名称中带有 编码冲突 的文件夹和文件 然后首先导出它们以进行验证
  • Zookeeper运行在两个节点上

    我遇到过这样的情况 Zookeeper 配置为 2 个节点 但有时它开始同时在两个节点上运行 为什么会发生这种情况 要构建具有主从架构的整体 您需要拥有奇数个 Zookeeper 服务器 即 1 3 5 7 等 3 人的集成可以处理一台服务
  • AngularJS Post 请求在 Firefox 上无法正常工作

    我正在使用 AngularJS 编写一个网站 它与服务器上的 API 进行通信并提供一些信息 对于登录部分 我应该发送一个包含电子邮件 密码等的 http post 请求 它在 google Chrome 和 IE 上运行良好 我的意思是它
  • 从 Amazon S3 迁移到 Azure 存储(Django Web 应用程序)

    我维护这个 Django Web 应用程序 用户可以在其中聚集并互相聊天 如果他们愿意 他们也可以发布照片 我处理这些照片 即优化其大小 并将它们存储在 Amazon S3 存储桶 类似于 Azure 存储中的 容器 上 为此 我在 Ama
  • 在 shell 脚本中读取 JSON 数据[重复]

    这个问题在这里已经有答案了 在 shell 中 我有一个要求 其中我必须读取以下格式的 JSON 响应 Messages Body 172 16 1 42 home 480 1234 5 12 2013 1234 toSort Receip
  • R 中的约束线性回归系数[重复]

    这个问题在这里已经有答案了 我正在估计 R 中的几个普通最小二乘线性回归 我想限制回归中的估计系数 使它们相同 例如 我有以下内容 z1 x y z2 x y 我希望第一个回归中 y 的估计系数等于第二个回归中 x 的估计系数 有没有直接的
  • 为什么我的 http://schema.org/BreadcrumbList 未验证?

    我在我的网站上使用 schema org 微数据 但我正在努力解决面包屑列表作为谷歌的结构化数据测试工具不会验证它 它看起来是正确的 我看不出有什么问题 您可以单击上面的链接来查看错误 但总而言之 Google 表示每个项目的 itemty
  • 是否可以更新本地化故事板的字符串?

    我通过创建一个 base lproj 故事板和 3 个字符串文件来本地化我的应用程序的一部分 那是一个月前 之后我向应用程序添加了新的视图控制器 但该控制器的按钮和标签没有出现在字符串文件中 是否可以更新这 3 个情节提要附加的字符串文件
  • 在循环中绑定单击事件处理程序会导致 jQuery 出现问题

    我正在尝试运行以下代码 我将参数传递给函数 但它始终具有循环中运行的最后一个对象的值 我在 stackoverflow 上阅读了一些有关它的文章 但我找不到如何使其在我的解决方案中运行 该对象是从服务器返回的 JSON 对象 它的所有值都是
  • bootstrap自定义发生了什么?

    Bootstrap 3 曾经有这个自定义选项 https getbootstrap com docs 3 3 customize 但是 我无法找到 Bootstrap 4 的此类链接 我只是构建一个简单的网站 并且肯定不会使用它 80 的功
  • 使用 tfslim 解码 tfrecord

    我在 CPU 上使用 Python 2 7 13 和 Tensorflow 1 3 0 我想使用 DensNet https github com pudae tensorflow densenet 来解决回归问题 我的数据包含 60000
  • Android:使用 ImageView 显示 sdcard 中的 .jpg 图像

    我正在尝试将 SD 卡中的 jpg 显示到布局中的图像视图中 我没有收到任何错误 但没有显示任何内容 我将不胜感激任何帮助 谢谢 EDIT layout1 LinearLayout findViewById R id layout1Acti
  • 使用 NAudio 在指定位置应用线性淡入淡出

    我正在利用NAudio在我编写的 C 程序中 我想要在某个位置应用线性淡入淡出在我正在使用的一段音频中 在 NAudio 示例项目中有一个名为 FadeInOutSampleProvider cs 的文件 缓存示例 其中有BeginFade
  • flutter windows应用程序启动时如何启动其他应用程序(go服务)?

    我编写了一个flutter windows应用程序 我想在windows上启动flutter应用程序时启动golang服务 以及如何以管理员权限在windows上运行flutter应用程序 在运行程序目录中设置 CmakeLists txt
  • ASP.NET Core API 如何在操作方法中将 ActionResult 转换为 T

    作为示例 请看下面的 API 操作代码 HttpGet send public ActionResult