C# 什么';为什么不能在.NET中将静态方法、实例方法等用作属性的参数?

C# 什么';为什么不能在.NET中将静态方法、实例方法等用作属性的参数?,c#,.net,reflection,attributes,C#,.net,Reflection,Attributes,无法使用静态方法、实例方法等作为.NET中属性的参数的原因是什么 为什么C不允许这样做?最近在GIMPNet上的mono中讨论过,C中的属性实际上直接编码到生成程序集的IL中。因此,传递到属性中的参数仅限于可以合理地直接编码的内容。您可以通过一些反思来解决这个问题。只需以字符串形式为属性提供足够的信息,以确定您希望它做什么,然后使用反射来查找要调用/使用的适当方法和属性

无法使用静态方法、实例方法等作为.NET中属性的参数的原因是什么


为什么C不允许这样做?

最近在GIMPNet上的mono中讨论过,C中的属性实际上直接编码到生成程序集的IL中。因此,传递到属性中的参数仅限于可以合理地直接编码的内容。

您可以通过一些反思来解决这个问题。只需以字符串形式为属性提供足够的信息,以确定您希望它做什么,然后使用反射来查找要调用/使用的适当方法和属性