gpt4 book ai didi

.net - CustomAttributeFormatException : Binary format of the specified custom attribute was invalid

转载 作者:行者123 更新时间:2023-12-04 11:51:51 25 4
gpt4 key购买 nike

我们发现了一些与自定义属性有关的奇怪行为。
给定此属性:

public class MyAttribute : Attribute
{
public MyAttribute(bool b = false, params int[] a)
{
}
}
和这种用法:
class Program
{
[MyAttribute]
static void Main()
{
Console.ReadKey();
}
}
我们得到一个异常(exception):

System.Reflection.CustomAttributeFormatException: Binary format of the specified custom attribute was invalid.


为什么会这样?

最佳答案

不确定原因到底是什么;在我自己的测试中,它似乎与在构造函数定义中具有一个或多个默认参数和“params”参数的组合有关。但是,如果它阻止了您,则有一个懒惰的解决方法:

public class MyAttribute : Attribute
{
public MyAttribute(params int[] a) : this(false) {}

public MyAttribute(bool b, params int[] a)
{
}
}
带有非默认值的“params”参数和单独的“params”参数似乎都很好。
不完全是一种解释,但是...

关于.net - CustomAttributeFormatException : Binary format of the specified custom attribute was invalid,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25153974/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com