我正在尝试像这里一样实现属性介绍,但我的属性具有如下属性参数:[Foo(Bar = "Baz")]
如何正确传递参数?我没有从其他东西复制属性,所以我认为我不能使用 CustomAttributeData?
ObjectConstruction.NamedArguments
您可以使用字典设置自定义属性的属性。
例如:
public IEnumerable<AspectInstance> ProvideAspects(object targetElement)
{
Type targetType = (Type) targetElement;
var objectConstruction =
new ObjectConstruction(typeof (MyCustomAttribute).GetConstructor(Type.EmptyTypes));
objectConstruction.NamedArguments["Bar"] = "Baz";
var introduceAttributeAspect = new CustomAttributeIntroductionAspect(objectConstruction);
yield return new AspectInstance(targetType, introduceAttributeAspect);
}