c# +将动态方法与属性一起使用

发布于 2024-09-13 11:43:41 字数 404 浏览 9 评论 0原文

[CustomAttribute]
public bool IsGreen()
{
   return true;
}

如何在 C# 中使用 DynamicMethod 编写上述内容?

更新;根据 casperOne,您不能使用自定义属性来执行此操作。

但是非自定义属性怎么样:

[Conditional("DEBUG")]
public bool IsGreen()
{
   return true;
}

注意:我创建了一篇新帖子,因为我的上一篇文章错过了这一点: 我的目的是......我如何动态创建一个包含属性的方法?

另外,我问关于使用DynamicMethod,有更好的方法吗?

[CustomAttribute]
public bool IsGreen()
{
   return true;
}

How could one write the above using a DynamicMethod in c#?

UPDATE; per casperOne you cannot do this with a custom attribute.

But what about a non-custom attribute such as:

[Conditional("DEBUG")]
public bool IsGreen()
{
   return true;
}

Note: I created a new post, because my last one missed the point which is:
What im driving at is...how do i dynamically create a method that contains an attribute?

Also, i asked about using DynamicMethod, is there a better way?

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

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

发布评论

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

评论(1

梦中楼上月下 2024-09-20 11:43:41

你不能。来自 DynamicMethod 类上的 IsDefined 方法

目前还没有自定义属性
支持动态方法。

如果您想创建动态方法,那么您必须动态创建程序集/模块/类型/方法,然后将属性附加到它。

You cannot. From the note in the remarks section for the documentation for the IsDefined method on the DynamicMethod class:

Custom attributes are not currently
supported on dynamic methods.

If you want to create dynamic methods then you will have to create an assembly/module/type/method dynamically and then attach the attributes to that.

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