首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何按照约定将属性赋值给类方法?

如何按照约定将属性赋值给类方法?
EN

Stack Overflow用户
提问于 2020-04-20 18:29:45
回答 1查看 53关注 0票数 1

我想让我的控制器方法注册为HttpGet,如果它们的方法名中有"get“,如果它们有"create”等,HttpPost也是如此。

我如何创建一个"attributeAssigner",它将遍历程序集并完成工作?

EN

回答 1

Stack Overflow用户

发布于 2020-04-23 18:12:53

事实上,你不能。Ygalbel提到的例子是一个解决方案,在我看来,这是一种欺骗。

示例中的代码创建了另一个类(代理),该类继承自要应用属性的类。事实上,如果您使用反射来检索装饰类的自定义属性(它的属性和方法),您将找不到它们。建议的解决方案中的类的实例是另一个类的实例,而不是您的!

我不是100%确定,但我可以猜测ASP.NET (核心)确实做到了这一点,所以它不会找到装饰你控制器的动作的属性。

为了使用建议的解决方案,您需要编写一些代码,这些代码必须执行以下操作:

  1. 检查您的控制器类并确定将属性添加到您想要的位置,
  2. 使用示例中描述的解决方案,
  3. 注销原始控制器的部件,
  4. 将示例代码创建的代理作为原始控制器的替代注册到提供程序。

< code >G212

也许this text可以是一个很好的起点,但你的想法仍然需要澄清。

无论如何,如果你坚持它的实现,我祝你好运。这是ASP.NET核心中高级主题的一部分。

HTH

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/61320272

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档