我正在创建具有不同类型和长度的模型,这些模型将用作对API的请求/响应。
[ByteSerialize(1)]
public string ByteLength { get; set; }
[ByteSerialize()]
public string Byte { get; set; }
我想首先从API获得ByteLength,然后将其传递给[ByteSerialize(?)]
答案 0 :(得分:1)
属性是惰性的-没有让事物自动发生的神奇方法。此外,通常通常仅将属性视为IL中的元数据,因此:必须将属性的参数表示为常量,而不是运行时值。显然,如果仅将属性创建为对象(而不是元数据),而是创建示例,则示例将显示元数据。
要执行所需操作,您可以可以手动完成,即在ByteSerializeAttribute
上有一些方法,并且当代码检测到时(通过{{1 }}),该属性就在其中,使用类似以下内容的
PropertyInfo